On this page: Target audience: CAST AI Administrator |
Summary: this page lists:
The changes listed assume that an upgrade from CAST AIP 8.2.2 to CAST AIP 8.2.3 has taken place. |
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:
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.
The following is a general description of the steps that should be taken in order to compare pre and post upgrade results:
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.
A bug has been detected which is causing the false violation of the Quality Rule "Check alphanumeric data before moving it into numeric data - 8030". The Quality Rule was falsely being violated when the syntax "pic x(01)" is used and "x" is written in lowercase. This bug has now been fixed (the Quality Rule will correctly interpret the use of lowercase "x") and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for this Quality Rule - you may see less violations.
A bug has been detected which is causing the false violation of the multiple Quality Rules. The Quality Rules are falsely being violated when indexes covering the queries exist. This bug has now been fixed (subqueries are handled better) and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for the Quality Rules/Metrics listed below (non-exhaustive list):
Number of database access without check
Number of SQL queries in loops
Number of Subqueries
A bug has been introduced which has caused a large increase in violations (false positives) for the following two Quality Rules:
This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for this Quality Rule - you may see less violations but the accuracy is improved.
A bug has been detected which is causing Brushes classes to wrongly violate the Quality Rule "Avoid types that own disposable fields and are not disposable - 8086". This bug has now been fixed (Brushes are no excluded from the scope of this Quality Rule) and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for this Quality Rule - you may see less violations.
A bug has been detected which is causing the value for the Total (Total Checks) in the CAST Application Engineering Dashboard to be incorrectly reported (the value is too high), for the following Quality Rules:
This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, the Total (Total Checks) value will now be reported correctly (the value will decrease).
A bug has been discovered which has resulted in false negatives (i.e. violations are expected but not found) for the Quality Rule "Avoid using SQL queries inside a loop - 7424" when the analysis involves JEE (the class simpleJDBCTemplateSpring from the Framework 3.0) and SQL. This bug is due to two factors:
The bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for this Quality Rule, i.e. there will be an increased number of violations (improved accuracy).
The fix also brings improved accuracy as follows:
A bug has been discovered which has been causing results from the Metrics Assistant to be deleted in specific circumstances:
This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ.
A bug has been discovered which has been causing "external objects" to be incorrectly included in User Defined Modules that use an "Explicit Content" filter (i.e. a filter based on an SQL query). This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ as follows:
A bug has been discovered in CAST AIP 8.x which meant that the Metrics Assistant (when processing .NET source code) did not take into account as many objects as it did in CAST AIP 7.3.x. This bug will have resulted in a difference in the Total Cyclomatic Complexity value (Total CC) reported by the CAST Engineering Dashboard (lower in CAST AIP 8.x than in CAST AIP 7.3.x). The bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may differ for the Total CC value (higher than previously).
The following syntax is now supported by CAST AIP. After an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ:
The following syntax (which is permitted in ABAP source code) is now supported by CAST AIP. After an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ:
EXEC "comment SQL SELECT ev1.vkonto .... ENDEXEC. |
"SORT if_ex_ibssi_receive_to_dwn~bapimtcs_buffer BY tabname objkey." |
cucomd->reset(: cl_iuicmd_cucomd_impl=>gc_premise_node ), cl_iuicmd_cucomd_impl=>gc_buag_node ). |
LOOP AT p_xyt_doc_item ASSIGNING <lfs_doc_items1> FROM l_i_index1 + 1. |
DELETE gi_pp_nr FROM 2 |
define macro_execute. &1 1. end-of-definition. define lmacro_def_itab. types &1. end-of-definition. macro_execute lmacro_def_itab. |
Link resolution has been improved for the following generic transactions:
START_REPORT: a link is now created from the initial transaction to the program that is passed to the generic transaction via the parameter.
SE16: a link is now created from the initial transaction to the database table that is passed to the generic transaction via the parameter.
Therefore, after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ: improved link resolution (more accuracy), increased number of transactional Function Points, Quality Rule differences etc.
A bug has been identified in the JEE analyzer in CAST AIP 8.x that is causing less objects to be saved to the CAST Analysis Service database than in CAST AIP 7.3.x. This bug is seen when an XML (or .properties) file is provided twice as the input of the JEE analyzer. Two objects are created, which then leads to a duplicated guid that induces the removal of the object when it is saved to CAST Analysis Service database. This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ: increased number of objects (more accuracy), increased number of transactional Function Points, Quality Rule differences etc.
A bug has been identified in the JEE analyzer that is causing JPA @NamedQueries that are embedded in container annotations, e.g.: @NamedQueries({..}) not to be detected by the analyzer (see example code below). This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ: increased number of objects (more accuracy), increased number of transactional Function Points, Quality Rule differences etc.
Example code:
@NamedQueries({ @NamedQuery(name="FirstOne", ..), @NamedQuery("name="SecondOne"...) }) class MyClass |
A bug has been identified in the JEE analyzer that is causing only some Struts config files (and no child Struts files) to be saved to the Analysis Service database where the Struts config files are defined in the web.xml rather than through a naming convention. This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ: increased number of objects (more accuracy), increased number of transactional Function Points, Quality Rule differences etc.
A bug has been identified in the JEE analyzer that is causing links between JavaScript client side functions and Struts action mapping to be missed during an analysis. This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ to give greater accuracy: increased number of transactional Function Points, Quality Rule differences etc.
A bug has been identified in the JEE analyzer that is causing JavaScript method calls inside JavaScript files that are included in JSP files using the scriptlet "<%=..%>" to not be detected by the analyzer. This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, results may therefore differ to give greater accuracy: increased number of transactional Function Points, Quality Rule differences, improved link resolution.
When upgrading from CAST AIP 7.3.x, an automatic process will remove any datafunction/transaction whose maintable/form is out of the scope of the application. However, due to an unfixed bug (SCRAIP-23812) any of these items that has any kind of calibration flag set against it (e.g. ignored) these items will not be removed and will still be part of the datafunction/transaction list incorrectly. This fact, in combination with the difference in the way in which DET (Data Element Types) are handled in AIP 7.3.x and AIP 8.x (from AIP 8.0 onwards the DET value is initialized as 0 at the beginning of the Function Point computation), will cause these items to have their DET value set to 0, while previously (i.e. in AIP 7.3.x) they kept their DET value as 5. In addition their Function Point values will still be computed even when the DET is set to 0.
A bug has been detected which is causing the value for the Total (Total Checks) in the CAST Application Engineering Dashboard to be incorrectly reported (the value is too high), for the following Quality Rules:
· Avoid cross-site scripting DOM vulnerabilities ( CWE-79 ) – 7740
· Avoid LDAP injection vulnerabilities ( CWE-90 ) – 7746
· Avoid OS command injection vulnerabilities ( CWE-78 ) - 7748
This bug has now been fixed and after an upgrade to CAST AIP 8.2.3 and the generation of a post upgrade snapshot, the Total (Total Checks) value will now be reported correctly (the value will decrease).