Feature Improvements

Technology support changes

Please see Technology coverage changes in CAST AIP 8.3.x for more detailed discussion of this subject.

Installation and Deployment

CAST AIP installer (setup)

Three new screens have been added to the CAST AIP installer (setup). These screens are visible only when installing CAST AIP in a non-upgrade scenario (i.e. CAST AIP from the same major/minor release track does not already exist on the machine) and allow you modify the locations for various CAST logtemporary and miscellaneous files. These locations will be valid for all CAST applications. There is no requirement to change these path locations unless you need to - the paths suggested in each screen are the default locations used by CAST AIP. The locations can be overridden once the setup has completed by modifying the CastGlobalSettings.ini file. See Install CAST AIP from setup.

Example screen:

Installation of Health Dashboard, Engineering Dashboard, RestAPI on IBM Websphere Application Server

CAST now supports the installation of the Health Dashboard, the Engineering Dashboard and the CAST RestAPI on IBM Websphere Application Server (WAS) 8.5.x, provided that WAS is installed in a Linux environment. See Deployment on IBM WebSphere Application Server for more information.

Engineering Dashboard

Dashboard renamed

The CAST Application Engineering Dashboard (AED) has been renamed as the "Engineering Dashboard" (ED). Documentation has been updated to reflect this name change. In addition, certain items and components have been renamed within the dashboard interface itself.

Education feature

The Engineering Dashboard now features the ability to add violations (objects) to an "Education list" (see Engineering Dashboard - Education) to highlight specific issues that may not be corrected, but require tracking, monitoring. In essence the Education list:

  • enables an Architect or Technical Lead to identify the main issues in an Application and add them to the list to "educate" his team about the Quality Rules related to the violation
  • the violations in the list may not necessarily be corrected because they may be too costly, however, the Architect or Technical Lead can use the list to explain to his development team the issues that exist (i.e. the violations can be shown) and how to avoid the issues in the future (i.e. by highlighting the associated Quality Rule documentation)
  • Quality Rules in the Education list can be configured so that all NEW violations to the Quality Rule are automatically added to the Engineering Dashboard - Action Plan when the next snapshot is generated.
  • links to the violations can be sent to development team members directly from the Education list to "share and promote" best practices or how to adhere to specific Quality Rules.

Change Language option

The top user menu now has an additional drop down menu item called "Change Language". This allows a user to change the language of the text items in the dashboard, providing an administrator has configured the language:

In addition, a parameter called "default" has been added to the ced.json file to allow a specific language to be set by default.

Export to Excel

It is now possible to export data to Excel file at Violation level in the Application Investigation and Transaction Investigation views, for example:

Health Dashboard

Dashboard renamed

The CAST Application Analytics Dashboard (AAD) has been renamed as the "Health Dashboard" (HD). Documentation has been updated to reflect this name change. In addition, certain items and components have been renamed within the dashboard interface itself.

CAST Management Studio

ID required for Architecture Models

A unique identifier for your Architecture Model must be defined in the CAST Architecture Checker GUI for all models assigned to Applications in CAST AIP 8.3.2. This ID is used to identify the Architecture Model throughout the CAST Management Studio and the CAST dashboards (the ID will be saved to a table in the CAST Management Service schema).

  • A positive and even number above 2,000,000 can be assigned as an ID (values less than this are already reserved for use by CAST). CAST recommends using CAST Extend to reserve a range of IDs for your use. See Managing ID ranges for custom extensions for more information about this.
  • If an Architecture Model has already been assigned to an Application with ID = X, then even if the Architecture Model is subsequently edited in the CAST Architecture Checker and the ID changed (to ID = Y, for example), the Model will retain the same ID in the CAST Management Service schema as long as it is not removed from the Application.
  • The ID must be unique in the CAST Management Service schema. If two Architecture Models with the same ID are associated to an Application, only the first Model will be used and the second will be ignored.
  • If the ID is set to 0 (default) or blank, then the Architecture Model will be ignored when the snapshot is generated.

The following checks are performed for Architecture Model IDs during a snapshot generation and results will be logged in the CASTMSxx_log.txt file:

  • Different ID = Check Architecture Model _<Project_filename>_ : The Id from File _<ID>_ is ignored because different from original Id _<Original_ID>_ in CAST-MS
  • Duplicate ID = Check Architecture Model _<Project_filename>_ : The Model is ignored. Its Id _<ID>_ is already used by another Model in CAST-MS.
  • Wrong ID = Check Architecture Model _<Project_filename>_ : The Model is ignored. Wrong Id _<ID>_. The Id should be positive, even and > 2000000
  • Undefined ID = Check Architecture Model _<Project_filename>_ : : The Model is ignored. Id is Missing.
  • See also ID required for Architecture Models for the Architecture Checker.
  • In the context of an upgrade to CAST AIP ≥ 8.3.2, all existing Models associated to an Application will retain their "internal" ID assigned by the CAST Management Studio during the upgrade and post upgrade snapshot. Even if the Model is subsequently edited in the CAST Architecture Checker and a new ID is assigned, the ID will remain the same. The only exception is if the Model is removed from an Application and then re-assigned with a new ID - the new ID will then be taken into account.

CLI

ConfigurePlatformPreferences

The option jobLogRootPath has been removed and can no longer be used with the command ConfigurePlatformPreferences. Please use logRootPath instead. See Automating CAST Management Studio tasks.

CAST Transaction Configuration Center

GUI

"Estimated" changed to "Default FP Value"

The term used to indicate the value given to empty Function Points has been changed from "Estimated" to "Default FP Value", for example in the Compute settings and in the AFP Calibration node:

 

Show Rules now available in AFP Calibration child nodes

New column "Number of objects"

A new column called "Number of objects" is displayed in the following nodes:

  • By naming
  • By Inheritance
  • By type
  • Free definition

This shows how many objects have been identified by the rule. This column will only update after using the Compute option or generating a snapshot.

New Ratios information in Enhancement node right hand panel

A new panel of information called "Ratios" is now available in the Enhancement node, providing information about the elements (artifacts, objects etc.) that comprise the current Application and snapshot:

Adjusted links now highlighted

Links that have been modified using the Transaction Graph Adjustment feature are now highlighted as dashed black lines in the Call Graph and Full Call Graph. For example (click to enlarge):

CLI

CAST is now delivering a bespoke executable for running automated CAST Transaction Configuration tasks. Previously, command line tasks could be run using CAST-TransactionConfig.exe, however, CAST highly recommends that all automated command line tasks now use CAST-TransactionConfig-CLI.exe.

See Automating CAST Transaction Configuration Center tasks.

Log file naming and path changes

In addition to the log file change that was implemented in CAST AIP 8.3.1, a further change has been added in CAST AIP 8.3.2:

  • the log file will now be stored in a folder named TCC in %ALLUSERSPROFILE%/CAST/CAST/Logs, or in a folder named TCC in the the location specified by CAST_LOG_ROOT_PATH if that variable has been defined in the CASTGlobalSettings.ini file.

CAST Architecture Checker

GUI

Changing model properties

Following the introduction of the ability to change model properties directly in CAST Architecture Checker introduced in CAST AIP 8.3.1, if you open a Architecture Model created and saved with a previous release of CAST AIP (≤ 8.3.0), then you may be warned as follows:

This means that the Architecture Model was created with an older release of CAST AIP that did not include the ability to set Properties on the model. As such, the CAST Architecture Checker has initialized these Properties in the Architecture Model with default values. These default values may not correspond to the values you may have set in the CAST Management Studio and therefore may impact results when the Architecture Model is used in an analysis. The Properties will remain as they are set in the CAST Management Studio until you open the model with the CAST Architecture Checker.

ID required for Architecture Models

A unique identifier for your Architecture Model must now be defined in the CAST Architecture Checker GUI for all models assigned to Applications in CAST AIP 8.3.2. This ID is used to identify the Architecture Model throughout the CAST Management Studio and the CAST dashboards (the ID will be saved to a table in the CAST Management Service schema).

  • A positive and even number above 2,000,000 can be assigned as an ID (values less than this are already reserved for use by CAST). CAST recommends using CAST Extend to reserve a range of IDs for your use (if you have not done so already). To do so, sign in to CAST Extend and select ID RangesQuality Range ReservationReserve Rule ID Range:
    • The Extension ID field is of the form: com.castsoftware.uc.<free-form text>. Where <free-form text> can be any string that describes your initiative or your project.
    • For the Range amount field, choose a number between 1 and 10. 1 corresponds to a range of 1000 IDs, therefore if you enter 3, you will be granted 3000 IDs.
    • After you have clicked on Reserve, a range of rule IDs are defined and ready for your use. See Managing ID ranges for custom extensions for more information about this.
  • If an existing Model from CAST AIP 8.3.1 (where IDs were not available) is opened, then the ID will be set to the default value (0).
  • If an Architecture Model has already been assigned to an Application in the CAST Management Studio with ID = X, then even if the Architecture Model is subsequently edited in the CAST Architecture Checker and the ID changed (to ID = Y, for example), the Model will retain the same ID in the CAST Management Service schema as long as it is not removed from the Application.
  • The ID must be unique in the CAST Management Service schema. If two Architecture Models with the same ID are associated to an Application, only the first Model will be used and the second will be ignored.
  • If the ID is set to 0 (default) or blank, then the Architecture Model will be ignored when the snapshot is generated.
  • When saving the Model, the following is checked. If any of the below checks fail, an error will be displayed:
CheckError
That an even number has been used

That a number above 2,000,000 has been used

That an invalid number has not been used (for example a very large number, or a negative number)


  • See also ID required for Architecture Models for the CAST Management Studio.
  • In the context of an upgrade to CAST AIP ≥ 8.3.2, all existing Models associated to an Application will retain their "internal" ID assigned by the CAST Management Studio during the upgrade and post upgrade snapshot. Even if the Model is subsequently edited in the CAST Architecture Checker and a new ID is assigned, the ID will remain the same. The only exception is if the Model is removed from an Application and then re-assigned with a new ID - the new ID will then be taken into account.

Result size option

A new option has been added to govern the number of links that are displayed when the Check model option is run. By default, a maximum of 1000 links will be displayed by default for performance reasons (the more links that are available, the longer the Check model process will take). You can choose from one of the following available options:

  • 1000
  • 5000
  • 10000
  • Unlimited

Log file naming and path changes

In addition to the log file change that was implemented in CAST AIP 8.3.1, a further change has been added in CAST AIP 8.3.2:

  • the log file will now be stored in a folder named ArchiChecker in %ALLUSERSPROFILE%/CAST/CAST/Logs, or in a folder named ArchiChecker in the the location specified by CAST_LOG_ROOT_PATH if that variable has been defined in the CASTGlobalSettings.ini file.

CAST Delivery Manager Tool

GUI

A new option "Exclude test code" has been added to the Package Configuration tab in the CAST Delivery Manager Tool. When ticked, this option will force all folders containing the word "test" to be excluded from the packaging:

Resolved Issues

The following table lists all bugs fixed in CAST AIP 8.3.2 

Call IDTechnologyComponent/sFeaturesSituationSymptomsInternal ID
10045
CMS Snapshot/Analysis - Run Metrics Calculation
When comparing the log of an Oracle Forms analysis step and the log from the Oracle Forms Metrics Assistant calculation step.There are more syntax errors in the Oracle Forms Metrics Assistant log (which are due to simple 'Select', 'Update' or 'CREATE OR REPLACE FUNCTION' statements) than there are in the Oracle Forms analysis log.SCRAIP-30735
10062
Delivery Manager Tool
When using the CAST Delivery Manager Tool GUI.Some labels and options are poorly labelled.SCRAIP-30736
10146
CMS Snapshot/Analysis
When attempting to a run a JEE analysis.The analysis crashes with the error "Unexternalized exception - Message is 'access violation'."SCRAIP-30733
10217
CMS Snapshot/Analysis - Run Analyzer
When an analysis is cancelled during the "run metric calculation" step and the analysis is then re-run again with the option "Continue last analysis".The subsequent analysis will skip the analysis that has already been completed, but it does not re-run the "run metric calculation" step (it should).SCRAIP-30730
10223
CMS Snapshot/Analysis
When looking at the results of a JEE analysis including JSF taglib mapping files.JSF taglib mapping files are ignored, thus links are not created between *.xhtml files.SCRAIP-30732
10271
CMS Snapshot/Analysis - Run Analyzer
Attempting to run an ABAP analysis.The analysis fails with the error: SQL Error: ERROR: duplicate key value violates unique constraint "pk_objdsc". 

SCRAIP-30727
10287
CMS Application - Reference Pattern Search String
When attempting to run a UA analysis including a Reference Pattern search string.The Reference Pattern search string step takes a very long time to complete.SCRAIP-30729
10294
CMS Snapshot/Analysis - Run Analyzer
When attempting to run a JEE analysis.The analysis fails with the error "Unable to process JEE analysis, error in project 'xxx'." SCRAIP-30728
10296
Health Dashboard
When attempting to run a CAST Health Dashboard consolidation using the CLI.The process fails with the message "org.postgresql.util.PSQLException: ERROR: integer out of range".SCRAIP-30723
10297
CMS Snapshot/Analysis - Compute Snapshot
When attempting to generate a snapshot that has previously completed successfully. The snapshot now gets stuck on the procedure "ADGV_UPDATE_ANY_COST_STATUSES".SCRAIP-30726
10302
Dataflow
When running a .NET analysis.The Dataflow (User Input Security) step is taking a very long time to complete.SCRAIP-30722
10308
CMS Snapshot/Analysis
When attempting to run a JEE analysis.The analysis fails with the error "Unable to process JEE analysis, error in project 'xxx'."SCRAIP-30725
10313
Health Dashboard
When attempting to configure a "customexpression" tile in the CAST Health Dashboard.The tile functions but the title and description are merged together.SCRAIP-30724
10367
CMS Snapshot/Analysis
When looking at the results of a JEE analysis which includes JSP files.Some JavaScript methods, variables and HTML events defined in the JSP file are duplicated, therefore increasing the number of dynamic links.SCRAIP-30731
10412
Analysis Manager - Update CAST Knowledge Base
When attempting to generate a snapshot.The snapshot generation process fails with the following errors in the CAST-MS log 
- relation inkb_dia_expensivepath 
- column "source_id" 
- relation "inkb_dataflowscope does not exist
SCRAIP-30721
10594; 10595
CMS Snapshot/Analysis - Run Copy Paste Metrics Calculation
When looking at the results of the Quality Rules "Avoid Artifacts with high Commented-out Code Lines/Code Lines ratio" and "Avoid Too Many Copy Pasted Artifacts" for versions Vn and Vn+1.Violation counts for these Quality Rules are inconsistent even though the source code has not changed between versions Vn and Vn+1.SCRAIP-29524
10638
CMS Snapshot/Analysis
When looking at the log for a JEE analysis.The log contains many warning messages in the form "class 'xxx' is not visible - one dependency is missing" which have no impact on results and cannot be rectified. The warnings should be removed.SCRAIP-30720
10687
Enlighten
When using CAST Enlighten.CAST Enlighten crashes while attempting to load a blank view during initial connection to the RDBMS.SCRAIP-30719
10958
Health Dashboard
When looking at the tile "Top 5 Critical Rules" in the CAST Health Dashboard.The Quality Rules in the tile do not appear to be ordered by Number of failed checks, as expected.SCRAIP-30718
11005
Health Dashboard
When comparing the number of deleted Transactions in the legacy CAST Engineering Dashboard and in the Health Dashboard with those listed in the CAST Transaction Configuration Center.The transaction is shown as "deleted" in the legacy CAST Engineering Dashboard and in the CAST Health Dashboard whereas the transaction is not visible at all under the Evolution node in the CAST Transaction Configuration Center (the TCC reports the correct information).SCRAIP-30488
11195
CMS Application - Reference Pattern Search String
When editing a Reference Pattern and using the options "Check RegExp. on file" and "Check RegExp. on directory".The options do not function.SCRAIP-30508
11200
CMS Snapshot/Analysis - Synchronize Services
When comparing the results of a post upgrade snapshot when upgrading from CAST AIP 8.0.x to CAST AIP 8.3.x.The comparison shows that there is a significant decrease in the number of objects and therefore the number of lines of code.SCRAIP-30497
11257
REST API
When attempting to start the CAST Analysis Automation API.The API does not start as a service or manually if the path contains a special character.SCRAIP-30764
11326
Delivery Manager Tool
When packaging a Java application along with an HTTP Maven Repository.An issue occurs during the discover steps in the remediation loop. The issue occurs when discovering the file portlet-api-2.0.pom and the following message is logged: 

cast.dmt.discover.jee.maven.project.parseError Error parsing Maven project 'javax/portlet/portlet-api/2.0'! Verify the corresponding file. If the file is good, please raise a ticket.
SCRAIP-30648
11340
CMS Snapshot/Analysis
When attempting to run an analysis on one single .NET Analysis Unit.The analysis fails with this error: 
Internal exception occured during processing listener ManageDmtProjectAction::Process on instance CAST_DotNet_Job_NewAnalyze #2 : unknown exception
SCRAIP-30654
11370
CMS Application
When using the CAST Delivery Manager Tool and attempting to create a new version.The following error occurs: ERROR: cast.utilities.consoleHandlerGenericLogError - Internal error occurred when creating New versionSCRAIP-30673
11451
CMS Snapshot/Analysis - Run Analyzer
When looking at the results of a .NET analysis.Web files (".asa", ".asp", ".htm", ".html", ".htc", ".js", ".vbs", ".css") are still being saved as empty objects with LOC = 0. They should not be saved at all.SCRAIP-30787
11474
CMS Snapshot/Analysis
When querying the CDT_OBJECTS table in the CAST System Views.The object "Nested Cobol Program" (type ID 142072) is not present.SCRAIP-30811
11477
CMS Snapshot/Analysis
When attempting to analyze a JEE application.The analysis fails at the "compare" step with the following message: "ERROR: more than one row returned by a subquery used as an expression".SCRAIP-30812
11484
Application Engineering Dashboard (AED)
When drilling down from the Risk Model tile and clicking on a Technical Criteria.The Quality Rules never display.SCRAIP-30826
11507
CMS Snapshot/Analysis - Run Analyzer
When comparing the analysis run times for a Mainframe application.The run time has increased in CAST AIP 8.3.1 compared to CAST AIP 8.0.x.SCRAIP-30841
11528;11679
CMS Snapshot/Analysis
When comparing the copy/paste metrics calculation time between CAST AIP 8.3.0 and 8.3.1.In CAST AIP 8.3.1, the calculation time has significantly increased and results were largely incorrect.SCRAIP-30859
11707
CMS Snapshot/Analysis - Run Analyzer
When looking at the results of a .NET analysis after performing an upgrade to CAST AIP 8.3.x.The Quality Rule "Declare as static all Methods not using Instance Members" 7270, is showing new violations for C# constructors even though the object status is "unchanged" (i.e. the source code has not changed).SCRAIP-31085
7935
CMS Snapshot/Analysis - Run Analyzer
When looking at the log for a PowerBuilder analysis.There are several syntax warnings in the log. Some are legitimate and some are not and should be handled by the analyzer.SCRAIP-30734
8915
CAST Management Studio (CMS)
When attempting to change the variable "CAST_CURRENT_USER_TEMP_PATH" in the CASTGlobalsettings.ini to alter the location in which the CAST-MSxx.log.txt file is stored.Changing the variable does nothing and the CAST-MSxx.log.txt file is still stored in the default location.SCRAIP-30752
8972
CAST Engineering Dashboard
When using the CAST Engineering Dashboard to view results of the Quality Rule "Use only Hibernate API to access to the database" - 7510.The number of objects with violations is more than the number of failed checks.SCRAIP-30751
8993
Health Dashboard
When looking at the Health Dashboard: Application Fast Facts tile.The tiles show inconsistent data and is not being updated when a time period is selected.SCRAIP-30750
9094
CAST Update Tool (CUT)
When looking at the DSS_HISTORY table post-upgrade.The DSS_HISTORY table is showing previous CAST AIP release number post upgrade. It should show the new CAST AIP release number.SCRAIP-30749
9295


When attempting to install and run the CAST Analysis Automation API as a Windows Service.The installation fails because the batch files provided contain errors with regard to quote marks in file paths.SCRAIP-30748
9433;9832
CAST Engineering Dashboard
When attempting to view TWRI data in either the CAST Engineering Dashboard or in the CAST Application Engineering Dashboard.The Transaction Level View in CED shows nothing, nor does the Transaction Investigation View in AED.SCRAIP-30747
9522
CMS Snapshot/Analysis
When using the Text Replacement feature with the JEE Analyzer to correctly resolve some relative paths that are used in the source code.Even with Text Replacement, the expected links between JSP and JS files are still not found.SCRAIP-30746
9532
CMS Snapshot/Analysis - Check Modules
When looking at the results of the Quality Rule "Variables defined in Working-Storage section must be initialized before to be read" (8034).A false positive result has been seen for this Quality Rule when the variable is initialised by a READ statement before being used by a WRITE statement.SCRAIP-30740
9565
CMS Snapshot/Analysis
When looking at the results of a JEE analysis.No link is created from a JSP file that contains embedded Java code to the called Java methods.SCRAIP-30745
9607
CMS Snapshot/Analysis - Run Analyzer
When attempting run a .NET analysis.The analysis fails with the error "System.InvalidOperationException: Sequence contains more than one element".SCRAIP-30744
9714
CMS Snapshot/Analysis
When looking at the results of a .NET/SQL Server analysis.Links have been incorrectly created from the JavaScript client site method in the .NET project to various Microsoft SQL Server tables.SCRAIP-30743
9778
CAST Engineering Dashboard
When looking at the results of the Quality Rule "Avoid String initialization with String object (created using the 'new' keyword)" - 7250.A false positive violation is identified for the Quality Rule where the String isn't initialized with a literal.SCRAIP-30737
9797
CMS Snapshot/Analysis
When looking at the results of a JEE analysis.The logs show that not all .java files present in the delivered source code have been stored in the CAST Analysis Service schema, despite the fact that the files have been analyzed without error. Due to an issue saving files with the same name.SCRAIP-30742
9972
Transaction Configuration Center (TCC)
When using the CAST Transaction Configuration Center to look at a transaction in two projects: the transaction is identical in both projects (a.jsp file) and both projects have been analyzed in one Application.When one of the projects is dropped and a new snapshot is generated, two transactions incorrectly remain in the Analysis Service schema.SCRAIP-30738
9977
CMS Snapshot/Analysis
When looking at the results of a Mainframe Cobol analysis and the source code uses a procedure parameter called JOB.When the analyzer encounters a procedure parameter that is called "JOB" it incorrectly considers it as a JOB card. This results in multiple issues, including incorrect Line of Code count (truncated source code) anda Computed FP value for the Transaction Function (JCL) as '0'.SCRAIP-30739
9985
CMS Snapshot/Analysis
When looking at the results of a JEE analysis.Some hbm.xml files have their full path incorrectly set to a location in the LTSA folder, rather than in the source code deployment folder.SCRAIP-30741


Delivery Manager Tool - Projects Discovery
When attempting to run a JEE analysis that includes a pom.xml file.The analysis fails because the pom.xml file is empty, however the error message provided does not explain this and simply states that the analysis has failed.SCRAIP-29914