Changes in results post upgrade - 8.3.6

Summary: this page lists:

  • Impacts of changes made to AIP Core 8.3.6 on Quality Model results post upgrade
  • Other impacts of changes made in AIP Core 8.3.6

All changes in results related to extensions are now listed in the extension documentation and will not appear in this page.

Impacts of changes made in AIP Core 8.3.6 on Quality Model results post upgrade

JEE

SCRAIP-24160 - Avoid SQL queries that no index can support - 8108

A bug has been discovered which has meant that the rule "Avoid SQL queries that no index can support - 8108" is returning false positive violations. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

SCRAIP-33223 - Avoid directly instantiating a Class used as a managed bean - 7964

A bug has been found in the rule "Avoid directly instantiating a Class used as a managed bean - 7964" - it was not including Java Fields in its scope. This has has now been corrected, therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: potentially increased number of violations for this syntax and improved accuracy.

C/C++

SCRAIP-26593 - "Ensure you provide a user-defined copy constructor or disable copy when a class allocates memory in its constructor -592"

A bug has been discovered which has meant that the rule "Ensure you provide a user-defined copy constructor or disable copy when a class allocates memory in its constructor -592" shows more failed checks than the number of violated objects that are returned (the number of failed checks should equal the number of violated objects). This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: the number of failed checks will match the number of objects in violation (i.e. a reduction in the number of failed checks).

Mainframe Cobol

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

A bug has been discovered which has meant that the rule "Avoid unchecked return code (SQLCODE) after EXEC SQL query - 7690" is returning a false positive violation even though the SQLCODE check occurs immediately after the EXEC SQL query. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

SCRAIP-32790 - Avoid STOP RUN (use GOBACK instead) - 5068

A bug has been discovered which has meant that the rule "Avoid STOP RUN (use GOBACK instead) - 5068" is returning a false positive violation. The STOP RUN is located in a program, which is outside the scope of this rule. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

SCRAIP-32963 - Prefer using indexes instead of subscripts - 8142

A bug has been discovered which has meant that the rule "Prefer using indexes instead of subscripts - 8142" is returning a false positive violation even though the variable in question is already an index. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

SCRAIP-33102 - Avoid using Pointers - 7302

A bug has been discovered which has meant that the rule "Avoid using Pointers - 7302" is returning a false negative violation - i.e. the same code was violating the rule in AIP Core 8.2.x. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: correct number of violations increasing accuracy.

SCRAIP-33177 and SCRAIP-31252 - Never truncate data in MOVE statements - 7688

A bug has been discovered which has meant that the rule "Never truncate data in MOVE statements - 7688" is returning a false positive violation. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

SCRAIP-33190 - Avoid Sections with a very low comment/code ratio - 5108

A bug has been discovered which has meant that the rule "Avoid Sections with a very low comment/code ratio - 5108" is returning a false positive violations for comments in copybook sections. This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted: reduced number of violations increasing accuracy.

Other impacts of changes made in AIP Core 8.3.6

Mainframe Cobol

SCRAIP-32765 - Object names containing symbols in PSB files

A bug has been discovered which is causing objects to be incorrectly resolved when their name contains a symbol (such as the # (hash) sign). For example the following code will produce an object called "BHM" whereas an object called "BHM#HMO" is expected:

PCB TYPE=DB,DBDNAME=BHM#HMO,KEYLEN=3,PROCOPT=A,PCBNAME=DEPTPCB SENSEG NAME=DEPT,PARENT=0 

This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted.

SCRAIP-32769 - Symbolic variable in proc not resolved

A bug has been discovered which is causing objects to be incorrectly resolved when a symbolic variable is used. For example, in the following code, the object is called "&XPSB" instead of "OBEJCT0940":

//********************************************************************
//OBEJCT0940 EXEC PGM=OBJECT0941
//           PARM='DLI,OBEJCT0940,&XPSB,,,,,,,,,,,&DBRC'
//********************************************************************

This bug has been fixed and after an upgrade to AIP Core 8.3.6 and the generation of a post-upgrade consistency snapshot on the same source code, results may be impacted.

SAP/ABAP

SAP-109 - ABAP table expressions not recognized

ABAP table expressions were previously not recognized and caused the creation of unresolved objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

Example code that is now supported:

t_allowed_plant_types[ table_line = s_plant-obj->get_type( ) ]

SAP-113 - ABAP expression "ME->" not recognized

The ABAP expression "ME->" was previously not recognized and caused the creation of unresolved objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

SAP-108 - ABAP expression "object -> method()" not recognized

The ABAP expression "object -> method()" was previously not recognized and caused the creation of unresolved objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

SAP-111 - ABAP expression "LIKE TABLE OF" not recognized

The ABAP expression "LIKE TABLE OF" was previously not recognized and caused the creation of unresolved objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

SAP-112 - Unresolved objects "me" are created for the ABAP syntax "DATA: lcl_cache LIKE me"

The ABAP expression "DATA: lcl_cache LIKE me" was previously not recognized and caused the creation of unresolved "me" objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

SAP-107 - Unresolved objects "s_tasks-task" are created for the ABAP syntax "<s_tasks>-task = o_subproc_task"

The ABAP expression "<s_tasks>-task = o_subproc_task" was previously not recognized and caused the creation of unresolved "s_tasks-task" objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.

SAP-110 - Unresolved objects "OBJECT" are created for the ABAP syntax "CREATE OBJECT"

The ABAP expression "CREATE OBJECT" was previously not recognized and caused the creation of unresolved "OBJECT" objects. This syntax is now supported and therefore, after an upgrade to AIP Core 8.3.6 and the generation of a post upgrade snapshot, results may differ: there may additional objects and links possibly leading to a change in transaction values.