On this page:
Target audience:
CAST AI Administrator
Summary: this page lists:
- impacts of changes made in CAST AIP 8.2.14 on Quality Model results
- other impacts of changes made in CAST AIP 8.2.14
The changes listed assume that an upgrade from CAST AIP 8.2.13 to CAST AIP 8.2.14 has taken place.
Introduction
Each CAST AIP release provides new features which improve the value of the platform and justify an upgrade. However, there are a number of changes or improvements which can impact the measurement results/grades:
- New or improved Quality Rules to perform deeper analysis
- Updates to the Assessment Model, e.g. changes to rule weights, severity or thresholds. This can be mitigated by using the "Preserve assessment model" option during the upgrade.
- Improvements of the language analysis, e.g. more fine-grained detection of objects or links
- Extended automatic discovery of files included in the analysis
- Bug fixes to improve the precision of results
- And, unfortunately, a new release may also introduce new bugs which may impact the results until they are discovered and removed
Below is a list of changes made to the current release of CAST AIP that are known to cause impacts to results. You can also consult Case Study - Measurement changes after upgrade for selected customer applications which provides a more detailed analysis based on a few sample applications.
Analyzing the root causes of impacts to measurement results/grades
The following is a general description of the steps that should be taken in order to compare pre and post upgrade results:
- Step 1: Take a snapshot (including a source code analysis) with the previous release of CAST AIP before upgrading to the new release of CAST AIP
- Check the list of applications to be analyzed, the list of files per application and list of SQL objects from the Analysis Service.
- Step 2: Compare the source code in version 1 (before upgrade) with the source code in the new version 2 (after upgrade)
- Compare the list of analyzed files, list of files per application and list of SQL objects between the two Analysis Services
- Step 3: Compare the results of the application analysis and snapshot post upgrade. This can be done by comparing the snapshots available in the Dashboard Service to find the differences in:
- Quality rules
Violations
Grades at Business Criteria level
Function Points
Transactions
Lines of code
Step 4: Compare the data functions and transactions across the source Analysis Service and the target Analysis Service post upgrade.
Impacts of changes made in CAST AIP 8.2.14 on Quality Model results post upgrade
JEE
SCRAIP-32621 - Violations for multiple rules are incorrectly raised on List<File>
A bug has been discovered which is causing false violations to be reported for objects that are an instantiation of a class (JV_INST_CLASS type) AND that are associated to an external class. The following rules are impacted:
4594 | Avoid using 'java.io.File' |
4596 | Avoid using 'java.lang.System.getenv()' |
4598 | Avoid using 'java.lang.Runtime.exec()' |
4600 | Avoid using 'java.System.exit()' |
4604 | Avoid using 'java.lang.Error'" |
4606 | Avoid using 'sun.*' Classes |
4618 | Avoid instantiating Boolean |
4694 | Avoid using 'System.gc' |
4704 | Avoid using Vector |
This bug is now fixed therefore, after an upgrade to CAST AIP 8.2.14 and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: no false violations for this specific situation.
Mainframe Cobol
SCRAIP-33064 - Missing link between COBOL Program and CopyBook
A bug has been discovered where the analyzer expects a dot (.) to denote the end of an EXEL SQL block. This means that where this period is not used, the analyzer cannot identify the end of the block and therefore links between the COBOL program and COBOL copybooks are missed. In the following, there is no dot (.) after INCLUDE DLI05901, END-EXEC, and because of that the analyzer will not create links to DLI00001.
163600***************************************************************** 00 163700**** STUFF 00 163800 EXEC SQL 00 163900 INCLUDE DLI05901 00 164000 END-EXEC 00 164200 00 164300**** OTHER STUFF 00 164400 EXEC SQL 00 164500 INCLUDE DLI00001 00 164600 END-EXEC. 00 164700/ 00 164800**** SOME OTHER STUFF 00 164900 EXEC SQL 00 165000 INCLUDE DLI7003O 00 165100 END-EXEC. 00 165300 00 165400 DS00800-STAFF-SQL. 00 165500***************************************************************** 00
This bug is now fixed and the situation described above is now handled. Therefore, after an upgrade to CAST AIP 8.2.14 and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: possible increased number of links, violations and Function Point values providing improved accuracy.
Other impacts of changes made in CAST AIP 8.2.14
.NET - packaging in the CAST Delivery Manager Tool
SCRAIP-33161 - Packaging failing in DMT for .NET application
A bug has been discovered which is causing the packaging action in the CAST Delivery Manager Tool to fail when when an @ is present in the Include attribute of a Reference tag. This bug has now been fixed and code containing this syntax will not cause the packaging action to fail. Instead a warning message will be emitted to state that this syntax is not supported:
'Transforming Item Types By Using Metadata' in Visual Studio project '%PROJECT_PATH%' is not supported. The reference is ignored: '%INCLUDE%'
SCRAIP-33622 - DMT DotNet Discovery is not replacing DLL reference with project reference when project is available in source code
A bug has been discovered which is causing a missing project alert to be raised by the CAST Delivery Manager Tool even though the project exists. This is due the fact that the CAST Delivery Manager Tool uses the DLL's full path rather than just the DLL's file name to identify the DLL, causing the corresponding project to not be found. This bug has now been fixed and missing project alerts for this situation will no longer be raised.
SCRAIP-33124 - DET equal to zero for ignored / merged / deleted Data Functions
A bug has been discovered which is causing DET values to be set to 0 for Data Functions that have been ignored, merged or deleted even if their parent maintable object has been excluded. This bug has now been fixed and Data Functions that have been ignored, merged or when their parent maintable object has been excluded will no longer have a DET value. Therefore after an upgrade to CAST AIP 8.2.14 and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: the total number of datafunctions may be reduced and the Function Point values may change for merged datafunctions that "lose" other datafunctions or become merged with another datafunction when they lose their merge root.