Page tree
Skip to end of metadata
Go to start of metadata

On this page:

Target audience:

CAST AI Administrator

Summary: this page lists:

  • impacts of changes made in CAST AIP 8.2.9 on Quality Model results
  • other impacts of changes made in CAST AIP 8.2.9
  • miscellaneous result changes

The changes listed assume that an upgrade from CAST AIP 8.2.8 to CAST AIP 8.2.9 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.9 on Quality Model results post upgrade

Mainframe Cobol

SCRAIP-29198 - Avoid unchecked return code (SQLCODE) after EXEC SQL query - 7690

False positive violations to this Quality Rule were being returned where a DISPLAY statement (that is allowed by the rule) is enclosed in an IF block:

EXEC SQL 
… 
END-EXEC 
[IF <condition>] 
<authorized statements> 
[END-IF] 
IF SQLCODE…

This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed when this situation occurs, therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

SCRAIP-30871 - Never truncate data in MOVE statement - 7688

False positive violations to this Quality Rule were being returned. This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed. Therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

JEE

SCRAIP-29206 - Check usage of '==' and '!=' on objects - 7202

False positive violations to this Quality Rule were being returned where overriding equals methods are used. For example, in the code below, section '==' is used in scope of equals method which is being falsely flagged as a violation:

public boolean equals(Object obj)
{
if (this == obj) return true;
if (obj == null || !this.getClass().isInstance(obj)) return false;
DilekceLog aThat = (DilekceLog) obj;
return EqualsUtil.areEqual(this.getId(), aThat.id);
}

This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed when this situation occurs, therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

SCRAIP-29454 - Avoid instantiations inside loops - 7210

False positive violations to this Quality Rule were being returned where the object is instantiated and added in the same loop (same block inside the same loop). This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed when this situation occurs, therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

SCRAIP-29561 - Avoid static Field of type collection - 7562

False positive violations to this Quality Rule were being returned. This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed. Therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

SCRAIP-29584 - Close database resources ASAP - 8104

False positive violations to this Quality Rule were being returned when another method is used to close a connection. This behaviour has been changed and false positive violations to the Quality Rule are no longer displayed in this scenario. Therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of false positive results will be reduced.

SQL technologies

SCRAIP-30783 - Avoid Tables without Primary Key - 8082

When upgrading from CAST AIP 8.2.3 direct to CAST AIP 8.2.9, an increased number of violations for this Quality Rule may be evident. A bug in CAST AIP 8.2.3 which prevented any violations from being reported for this Quality Rule has now been fixed. Therefore after an upgrade to CAST AIP 8.2.9 from CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ: the number violations may increase.

Other impacts of changes made in CAST AIP 8.2.9

JEE - EJB

SCRAIP-29308 - Missing EJB objects

A bug has been discovered which has meant that some EJB objects were not being identified nor saved to the Analysis Service schema despite them being referenced in EJB XML configuration files. This issue has now been resolved, therefore after an upgrade to CAST AIP 8.2.9 and the generation of a post upgrade snapshot, results may differ: the number of EJB objects may increase.

Miscellaneous result changes

N/A


  • No labels