CAST Appmarq
  • Benchmark Analytics
  • Demographics
  • CRASH Reports
  • Signin Register

Health Factors

  Total Quality Index (TQI)

3786 rules

Total Quality Index measures the general maintainability level of the application based on hundreds of metrics provided by CAST.

  Robustness

1426 rules

Robustness measures the level of risk and the likelihood of having application failures and defects resulting from modifications.

  Security

1418 rules

Security measures the likelihood of potential security breaches linked to coding practices and application source code.

  Efficiency

535 rules

Efficiency measures the likelihood of potential performance bottlenecks and the potential future scalability issues linked to coding practices.

  Changeability

1292 rules

Changeability measures how easily applications can be modified in order to implement new features, correct errors, or change the applications environment.

  Transferability

1284 rules

Transferability measures how easily applications can be moved across teams or team members including in-house and outsourced development teams.
Want more stats? Register now!

Quality Rules

A base class shall be declared virtual only if it is used in a diamond hierarchy

A class name should start with a upper case letter (PHP)

A Copybook should not include other Copybooks

Action Mappings should have few forwards

Add @Override on methods overriding or implementing a method declared in a super type

All if … else if constructs shall be terminated with an else clause (C/C++)

All image files should be in a specific directory

All page files should be in a specific directory

All script files should be in a specific directory

All stylesheet files should be in a specific directory

Always favour pipable operators in RxJS

Always override 'Equals' and Comparison operators with IComparable implementation

Always prefer set Array designators '[]' on the type and not at variable

Always separate service contracts from service implementation.

Always use {@code} to wrap code statements or values such as null

An event handler MUST contain at least one onEvent or onAlarm element.

An event handler MUST contain at least one onEvent or onAlarm element.

An include file must contain at most one Class definition

An unconditional 'throw', 'return' or 'break' shall terminate every non-empty switch-clause

Any Data must be declared, use IMPLICIT NONE in Functions (Fortran)

Any Data must be declared, use IMPLICIT NONE in Modules (Fortran)

Any Data must be declared, use IMPLICIT NONE in Programs (Fortran)

Any Data must be declared, use IMPLICIT NONE in Subroutines (Fortran)

A partnerLink MUST specify the myRole or the partnerRole, or both.

CRITICAL  A pointer to a base Class shall only be cast to a pointer to a derived Class by means of 'dynamic_cast'

A pointer to a derived Class shall only be cast implicitly to a pointer to base Class

Avoid accessing data by using the position and length

CRITICAL  Avoid Activities using "Group By" statement (TIBCO BW)

Avoid Activities using ROWNUM (TIBCO BW)

CRITICAL  Avoid Activities using "UNION" instead of "Union all" (TIBCO BW)

Avoid Activities With Queries on more than 4 Tables (TIBCO BW)

CRITICAL  Avoid Activities with "SELECT *" queries (TIBCO BW)

Avoid Artifacts having a very low Comment/Code ratio (ASP - JavaScript VBScript)

Avoid artifacts having Incorrect Type Conversion or Cast

Avoid artifacts having recursive calls

Avoid artifacts having recursive calls (PHP)

CRITICAL  Avoid artifacts not checking the ending comments on Methods and Functions (PHP)

CRITICAL  Avoid artifacts not checking the ending comments on Sections (PHP)

Avoid Artifacts with a Complex SELECT Clause

Avoid Artifacts with a Complex SELECT Clause (ABAP)

Avoid Artifacts with a complex SELECT clause (JEE)

Avoid Artifacts with a Complex SELECT Clause (PowerBuilder)

Avoid Artifacts with a Complex SELECT Clause (SQL)

Avoid Artifacts with a Complex SELECT Clause (Visual Basic)

Avoid Artifacts with high Commented-out Code Lines/Code Lines ratio

Avoid Artifacts with High Cyclomatic Complexity

Avoid Artifacts with High Cyclomatic Complexity (ABAP)

Avoid Artifacts with High Cyclomatic Complexity (ASP)

Avoid Artifacts with High Cyclomatic Complexity (C++)

Avoid Artifacts with High Cyclomatic Complexity (C Lang.)

Avoid Artifacts with High Cyclomatic Complexity (C# .Net)

Avoid Artifacts with High Cyclomatic Complexity (DB2 Server)

Avoid Artifacts with High Cyclomatic Complexity (Forms)

Avoid Artifacts with High Cyclomatic Complexity (Go)

Avoid Artifacts with High Cyclomatic Complexity (HTML5/Javascript)

Avoid Artifacts with High Cyclomatic Complexity (HTML5/Javascript)

Avoid Artifacts with High Cyclomatic Complexity (JEE)

Avoid Artifacts with High Cyclomatic Complexity (JSP)

Avoid Artifacts with High Cyclomatic Complexity (PL/SQL Oracle)

Avoid Artifacts with High Cyclomatic Complexity (PowerBuilder)

Avoid Artifacts with High Cyclomatic Complexity (Python)

Avoid Artifacts with High Cyclomatic Complexity (SQL Server)

Avoid Artifacts with High Cyclomatic Complexity (Swift)

Avoid Artifacts with High Cyclomatic Complexity (Visual Basic)

Avoid Artifacts with High Depth of Code

Avoid Artifacts with High Depth of Code

Avoid Artifacts with High Depth of Code (ABAP)

Avoid Artifacts with High Depth of Code (ASP)

Avoid Artifacts with High Depth of Code (C++)

Avoid Artifacts with High Depth of Code (C Lang.)

Avoid Artifacts with High Depth of Code (C# .Net)

Avoid Artifacts with High Depth of Code (DB2 Server)

Avoid Artifacts with High Depth of Code (Forms)

Avoid Artifacts with High Depth of Code (JEE)

Avoid Artifacts with High Depth of Code (JSP)

Avoid Artifacts with High Depth of Code (PL/SQL Oracle)

Avoid Artifacts with High Depth of Code (PowerBuilder)

Avoid Artifacts with High Depth of Code (SQL Server)

Avoid Artifacts with High Depth of Code (Visual Basic)

Avoid Artifacts with High Essential Complexity

Avoid Artifacts with High Essential Complexity (ABAP)

Avoid Artifacts with High Essential Complexity (ASP)

Avoid Artifacts with High Essential Complexity (C++)

Avoid Artifacts with High Essential Complexity (C Lang.)

Avoid Artifacts with High Essential Complexity (C# .Net)

Avoid Artifacts with High Essential Complexity (DB2 Server)

Avoid Artifacts with High Essential Complexity (Forms)

Avoid Artifacts with High Essential Complexity (JEE)

Avoid Artifacts with High Essential Complexity (JSP)

Avoid Artifacts with High Essential Complexity (PL/SQL Oracle)

Avoid Artifacts with High Essential Complexity (PowerBuilder)

Avoid Artifacts with High Essential Complexity (SQL Server)

Avoid Artifacts with High Essential Complexity (Visual Basic)

Avoid Artifacts with High Fan-In

Avoid Artifacts with High Fan-In (ABAP)

Avoid Artifacts with High Fan-In (ASP)

Avoid Artifacts with High Fan-In (C++)

Avoid Artifacts with High Fan-In (C Lang.)

Avoid Artifacts with High Fan-In (C# .Net)

Avoid Artifacts with High Fan-In (DB2 Server)

Avoid Artifacts with High Fan-In (Forms)

Avoid Artifacts with High Fan-In (JEE)

Avoid Artifacts with High Fan-In (JSP)

Avoid Artifacts with High Fan-In (PL/SQL Oracle)

Avoid Artifacts with High Fan-In (PowerBuilder)

Avoid Artifacts with High Fan-In (SQL Server)

Avoid Artifacts with High Fan-In (Visual Basic)

Avoid Artifacts with High Fan-Out

Avoid Artifacts with High Fan-Out (ABAP)

Avoid Artifacts with High Fan-Out (ASP)

Avoid Artifacts with High Fan-Out (C++)

Avoid Artifacts with High Fan-Out (C Lang.)

Avoid Artifacts with High Fan-Out (C# .Net)

Avoid Artifacts with High Fan-Out (DB2 Server)

Avoid Artifacts with High Fan-Out (Forms)

Avoid Artifacts with High Fan-Out (JEE)

Avoid Artifacts with High Fan-Out (JSP)

Avoid Artifacts with High Fan-Out (PL/SQL Oracle)

Avoid Artifacts with High Fan-Out (PowerBuilder)

Avoid Artifacts with High Fan-Out (SQL Server)

Avoid Artifacts with High Fan-Out (Visual Basic)

Avoid Artifacts with High integration complexity

Avoid Artifacts with High Integration Complexity

Avoid Artifacts with High integration complexity (ABAP)

Avoid Artifacts with High Integration Complexity (ASP)

Avoid Artifacts with High Integration Complexity (C++)

Avoid Artifacts with High Integration Complexity (C Lang.)

Avoid Artifacts with High Integration Complexity (C# .Net)

Avoid Artifacts with High Integration Complexity (DB2 Server)

Avoid Artifacts with High Integration Complexity (Forms)

Avoid Artifacts with High Integration Complexity (JEE)

Avoid Artifacts with High Integration Complexity (JSP)

Avoid Artifacts with High Integration Complexity (PL/SQL Oracle)

Avoid Artifacts with High Integration Complexity (SQL Server)

Avoid Artifacts with High Integration Complexity (Visual Basic)

Avoid Artifacts with High RAW SQL Complexity

Avoid Artifacts with High RAW SQL Complexity (ABAP)

Avoid Artifacts with High RAW SQL Complexity (PowerBuilder)

Avoid Artifacts with High RAW SQL Complexity (Visual Basic)

Avoid Artifacts with lines longer than 80 characters (ASP)

Avoid Artifacts with lines longer than 80 characters (C++)

Avoid Artifacts with lines longer than 80 characters (C Lang.)

Avoid Artifacts with lines longer than 80 characters (C# .Net)

Avoid Artifacts with lines longer than 80 characters (DB2 Server)

Avoid Artifacts with lines longer than 80 characters (Forms)

Avoid Artifacts with lines longer than 80 characters (JEE)

Avoid Artifacts with lines longer than 80 characters (JSP)

Avoid Artifacts with lines longer than 80 characters (PL/SQL Oracle)

Avoid Artifacts with lines longer than 80 characters (SQL Server)

Avoid Artifacts with lines longer than 80 characters (Visual Basic)

Avoid Artifacts with lines longer than X characters

Avoid Artifacts with lines longer than X characters

Avoid Artifacts with lines of more than 80 characters

Avoid Artifacts with more than 5 parameters (PowerBuilder)

Avoid Artifacts with too many lines of code (PL/SQL Oracle)

Avoid Artifacts with too many parameters

Avoid Artifacts with too many parameters

Avoid artifacts with too many parameters (ASP)

Avoid artifacts with too many parameters (C++)

Avoid artifacts with too many parameters (C Lang.)

Avoid artifacts with too many parameters (C# .Net)

Avoid artifacts with too many parameters (DB2 Server)

Avoid artifacts with too many parameters (Forms)

Avoid Artifacts with too many parameters (Javascript)

Avoid artifacts with too many parameters (JEE)

Avoid artifacts with too many parameters (JSP)

Avoid artifacts with too many parameters (PL/SQL Oracle)

Avoid Artifacts with too many parameters (SQL Server)

Avoid Artifacts with too many parameters (Swift)

Avoid artifacts with too many parameters (Visual Basic)

Avoid ASP pages having a very low Comment/Code ratio

CRITICAL  Avoid Attribute not documented with AsDocs (Flex)

Avoid base Classes without virtual Destructors

CRITICAL  Avoid Cairngorm event name not containing the function area name before the actual event name (Flex)

Avoid calling the same paragraph with PERFORM and GO TO statements

Avoid cascading Triggers

Avoid cascading Triggers (SQL)

Avoid casting and converting a pointer type to an integral type (C/C++)

Avoid circular references between header files

CRITICAL  Avoid Classes and Interfaces with a High Depth of Inheritance Tree (PHP)

CRITICAL  Avoid classes exceeding maximum length (PHP)

CRITICAL  Avoid classes exceeding number of weighted methods (PHP)

CRITICAL  Avoid classes having a number of public methods and attributes exceeds maximum (PHP)

CRITICAL  Avoid classes having too many children (PHP)

CRITICAL  Avoid classes having too many dependencies (PHP)

CRITICAL  Avoid classes having too many parents (PHP)

Avoid Classes implementing too many Interfaces

Avoid Classes implementing too many Interfaces

CRITICAL  Avoid Classes not having the same name as the file (PHP)

CRITICAL  Avoid classes overriding only equals() or only hashCode()

Avoid Classes with a High Depth of Inheritance Tree

Avoid Classes with a High Depth of Inheritance Tree (C++)

Avoid Classes with a High Depth of Inheritance Tree (C# .Net)

Avoid Classes with a High Depth of Inheritance Tree (JEE)

Avoid Classes with a High Depth of Inheritance Tree (Visual Basic)

Avoid Classes with a High Number Of Children

Avoid Classes with a High Number Of Children (C++)

Avoid Classes with a High Number Of Children (C# .Net)

Avoid Classes with a High Number Of Children (JEE)

Avoid Classes with a High Number Of Children (Visual Basic)

Avoid Classes with a low comment/code ratio (ABAP)

Avoid Classes with at least one virtual Function and without a virtual Destructor

Avoid Classes with a very low comment/code ratio

Avoid Classes with a very low comment/code ratio (C++)

Avoid Classes with a very low comment/code ratio (C# .Net)

Avoid classes with a very low comment/code ratio (JEE)

CRITICAL  Avoid classes with a very low comment/code ratio (PHP)

Avoid Classes with a very low comment/code ratio (Visual Basic)

Avoid Classes with Destructor not explicitly virtual whenever one of its base Class has a virtual Destructor

Avoid Classes with High Coupling Between Objects

Avoid Classes with High Coupling Between Objects (C++)

Avoid Classes with High Coupling Between Objects (C# .Net)

Avoid Classes with High Coupling Between Objects (JEE)

CRITICAL  Avoid Classes with High Cyclomatic Complexity (PHP)

Avoid Classes with High Weighted Methods per Class

Avoid Classes with High Weighted Methods per Class (C++)

Avoid Classes with High Weighted Methods per Class (C# .Net)

Avoid Classes with High Weighted Methods per Class (JEE)

Avoid Classes with High Weighted Methods per Class (PowerBuilder)

Avoid Classes with High Weighted Methods per Class (Visual Basic)

Avoid Classes with lines of more than 120 characters (PHP)

Avoid Classes with multiple inheritance

CRITICAL  Avoid classes with too many fields (PHP)

CRITICAL  Avoid classes with too many methods (PHP)

CRITICAL  Avoid class name not starting by a majuscule character (Flex)

CRITICAL  Avoid class not documented with AsDocs (Flex)

Avoid Cobol SQL Cursors without FOR READ ONLY or FOR FETCH ONLY or FOR UPDATE clauses

CRITICAL  Avoid cross-site scripting DOM vulnerabilities ( CWE-79 )

Avoid cyclic calls between Event and its handled Method

Avoid cyclic calls with PERFORM statements

Avoid data members that are never read

Avoid declaring same OData model twice

Avoid declaring VB Variables without typing them

Avoid declaring VB Variables without typing them

CRITICAL  Avoid defining File Disk if not used (RPG300)

CRITICAL  Avoid defining File Disk if not used (RPG400)

Avoid defining singleton or factory when using Spring

Avoid doing assignments in sub-expressions (C++)

CRITICAL  Avoid duplicated Main Procedures (PL1)

Avoid duplicate Programs in different files (PL1)

Avoid dynamic_cast to convert current object to its derived class from its constructor or destructor

Avoid ELSEIF statements. ELSE and IF should be separate (PHP)

CRITICAL  Avoid embedded metadata in class where a stylesheet may be cleaner (Flex)

CRITICAL  Avoid embedded metadata in script where a stylesheet may be cleaner (Flex)

CRITICAL  Avoid empty class definition (PHP)

Avoid empty Functions, Forms and Modules

CRITICAL  Avoid empty if statements (Flex)

Avoid empty Includes

CRITICAL  Avoid empty method (Flex)

Avoid empty Programs

CRITICAL  Avoid empty statement (Flex)

CRITICAL  Avoid empty style definition (PHP)

CRITICAL  Avoid empty used private method (Flex)

CRITICAL  Avoid Event name not explicitly set (Flex)

Avoid events with a very low comment/code ratio

Avoid excessive number of successive nested Procedure calls and limit it to two (PL1)

Avoid exporting namespaces

CRITICAL  Avoid extension with same name as the class name (Flex)

CRITICAL  Avoid field incorrectly named. (Flex)

CRITICAL  Avoid field names ending with numeric characters (Flex)

CRITICAL  Avoid file path manipulation vulnerabilities ( CWE-73 )

Avoid flexible array members (C/C++)

CRITICAL  Avoid FOR loops which can be simplified to a WHILE loop (PHP)

Avoid Forms with a very low comment/code ratio

CRITICAL  Avoid FrontController that adds all its commands within the Controller constructor (Flex)

Avoid Function pools with more than 20 functions

Avoid Functions and Methods with a very low comment/code ratio

Avoid Functions and Procedures having bad naming convention (PL1)

Avoid Functions and Procedures having multiple statements on the same line (PL1)

Avoid Functions and Procedures having qualified variables having spaces in the name (PL1)

Avoid Functions and Procedures not having variable declared on a separate line (PL1)

Avoid Functions and Procedures not testing the SQLCODE return code after each SQL statement (PL1)

Avoid Functions and Procedures using logical operators (or, and) in the "WHEN" clause of the SELECT statement (PL1)

Avoid Functions and Procedures using RETURN statements (PL1)

Avoid Functions having a very low Comment/Code ratio

Avoid Functions having a very low Comment/Code ratio

Avoid Functions having a very low Comment/Code ratio (Go)

Avoid Functions, Methods, Constructors, and Destructors with a very low comment/code ratio (C++)

Avoid Functions/Methods with a complex SELECT clause (C++)

Avoid Functions/Methods with High RAW SQL Complexity (C++)

Avoid functions overriding virtual functions without having the 'virtual' keyword

Avoid Functions/Procedures/Triggers with a complex SELECT clause (PL/SQL Oracle)

Avoid Functions/Procedures with a complex SELECT clause (DB2 Server)

Avoid Functions/Procedures with a complex SELECT clause (SQL Server)

Avoid Functions/Procedures with High RAW SQL Complexity (DB2 Server)

Avoid Functions/Procedures with High RAW SQL Complexity (SQL Server)

Avoid Functions with a complex SELECT clause (C Lang.)

Avoid Functions with a high Fan-in (Fortran)

Avoid Functions with a high Fan-out (Fortran)

Avoid Functions with a High number of Paths (Fortran)

Avoid Functions with a low comment/code ratio (Fortran)

Avoid Functions with a low Comments Frequency (Fortran)

Avoid Functions with a low number of Comment Blocks (Fortran)

Avoid functions with a very low comment/code ratio (PowerBuilder)

Avoid Functions with High Average size of Statements (AVGS) (Fortran)

Avoid Functions with High Cyclomatic Complexity (EGL)

Avoid Functions with High Cyclomatic Complexity (Fortran)

Avoid Functions with High Fan-In (EGL)

Avoid Functions with High Fan-Out (EGL)

Avoid Functions with High Program Length (PR_LGTH) (Fortran)

Avoid Functions with High RAW SQL Complexity (C Lang.)

Avoid Functions with High Vocabulary Frequency (VOCF) (Fortran)

Avoid Functions with low comment/code ratio (ABAP)

Avoid Functions with more then 1 statement per line (Fortran)

CRITICAL  Avoid function with unused parameter (Flex)

Avoid GOTO jumps out of PERFORM range

Avoid hardcoded URIs (.NET)

Avoid having a method call or additional expressions in a statement using "++" or "--" operators (C/C++)

Avoid having Classes implementing too many Interfaces

CRITICAL  Avoid having Classes implementing too many Interfaces (PHP)

CRITICAL  Avoid having class methods without scope modifiers - Symfony STD (PHP)

CRITICAL  Avoid having control structures without proper spacing in the open and close brace - PSR2 (PHP)

CRITICAL  Avoid Having control structures without proper switch case declarations (PSR2) (PHP)

Avoid having Copybooks with reserved prefix (PL1)

Avoid having Files without a naming convention (PHP)

CRITICAL  Avoid having For-loops that use a function call in the test expression (PHP)

CRITICAL  Avoid having inline control statements (PHP)

Avoid having Methods and Functions without a naming convention (PHP)

Avoid having MongoDB databases access without authentication activated

CRITICAL  Avoid having multiple artifacts deleting data on the same SQL table (PLC)

CRITICAL  Avoid having multiple artifacts inserting data on the same SQL table (PLC)

CRITICAL  Avoid having multiple artifacts updating data on the same SQL table (PLC)

CRITICAL  Avoid having object not instantiated using parenthesis - Symfony STD (PHP)

Avoid having Programs without a naming convention(EGL)

Avoid having Records without a naming convention (EGL)

Avoid having SQL Records without a naming convention (EGL)

Avoid having the same implementation in a conditional structure

Avoid having transaction with the Thread.Sleep method in a loop

Avoid having unmatched contracts for exported interfaces

Avoid having unreferenced code

Avoid having unused labels in your program (C/C++)

CRITICAL  Avoid having unused variables (PHP)

CRITICAL  Avoid having variables passed by reference when calling a function (PHP)

CRITICAL  Avoid having variables without naming conventions (PHP)

Avoid having variable with a too long name (PHP)

Avoid having variable with a too short name (PHP)

Avoid header files circular references

Avoid header files with a very low comment/code ratio

Avoid hiding attributes

Avoid hiding attributes (JEE)

CRITICAL  Avoid hiding static Methods

Avoid High Coupling Between Object Classes (PowerBuilder)

Avoid high depth of code in Functions (Fortran)

Avoid high depth of code in Programs (Fortran)

Avoid high depth of code in Subroutines (Fortran)

Avoid high level of Nesting in Functions (Fortran)

Avoid high level of Nesting in Programs (Fortran)

Avoid high level of Nesting in Subroutines (Fortran)

Avoid High Response for a Class (C++)

Avoid High Response for a Class (C# .Net)

Avoid High Response for a Class (JEE)

Avoid High Response for a Class (PowerBuilder)

Avoid High Response for Classes

CRITICAL  Avoid identical switch cases (Flex)

Avoid if … else if constructs not terminated with an else clause (.NET, VB)

Avoid implementation files that do not include a header file with the same name

Avoid Implementation files with a very low comment/code ratio

CRITICAL  Avoid imports from the same package (Flex)

Avoid Include Circular references

Avoid included files including other files (C++)

Avoid includes in Header Files

Avoid Includes in Header Files (C Lang.)

Avoid Includes with low comment/code ratio

Avoid including files other than header files

CRITICAL  Avoid incrementer jumbling in loops (PHP)

Avoid inheritance down the Package path

Avoid instance attributes only differing by capitalization

Avoid Interfaces with a low comment/code ratio

Avoid Interfaces with a very low comment/code ratio

CRITICAL  Avoid invocation of virtual Methods of the declared Class in a Constructor or Destructor

Avoid invoking super more than once in constructor

Avoid JavaScript Functions having a very low Comment/Code ratio (JSP)

Avoid large Artifacts - too many Lines of Code

Avoid large Classes - too many Constructors

Avoid large Classes - too many Constructors

Avoid large Classes - too many Constructors

Avoid large Classes - too many Data Members

Avoid large Classes - too many Data Members

Avoid large Classes - too many Fields

Avoid large Classes - too many Methods

Avoid large Classes - too many Methods

Avoid large Classes - too many Methods

Avoid large Classes - too many Methods

Avoid large Classes - too many Methods (Kotlin)

Avoid large Files - too many Lines of Code

Avoid large Files - too many Lines of Code (Kotlin)

Avoid large Functions - too many Lines of Code (C Lang.)

Avoid large Functions - too many Lines of Code (EGL)

Avoid large Include Files

Avoid large Interfaces - too many Methods

Avoid large Interfaces - too many Methods

Avoid large Interfaces - too many Methods

Avoid large Interfaces - too many Methods

CRITICAL  Avoid large Interfaces - too many Methods (PHP)

Avoid large JSP Pages - too many Scriptlets

Avoid large Macros - too many Lines of Code

Avoid large Methods/Functions - too many Lines of Code (C++)

Avoid large Methods - too many Lines of Code

Avoid large Methods - too many Lines of Code (ABAP)

Avoid large Methods - too many Lines of Code (JEE)

Avoid large Methods - too many Lines of Code (Kotlin)

Avoid large Page files

Avoid large Page files

Avoid large Paragraphs - too many Lines of Code

Avoid large Programs - too many Lines of Code

Avoid large Programs - too many Lines of Code (Cobol)

Avoid large Programs - too many Lines of Code (EGL)

Avoid large Programs - too many Sections

Avoid large Sections - too many Lines of Code

Avoid large Tables - too many columns

Avoid large Tables - too many columns (SQL)

CRITICAL  Avoid LDAP injection vulnerabilities ( CWE-90 )

CRITICAL  Avoid local variable hiding a class property (Flex)

CRITICAL  Avoid locking object by ALCOBJ command (CL400)

Avoid locking object by ALCOBJ command (CL400)

CRITICAL  Avoid logger not correctly formatted (Flex)

Avoid long docstring lines

Avoid long Functions

CRITICAL  Avoid long switch case (Flex)

Avoid long Table names (PL/SQL Oracle)

Avoid long Table names (SAP SQL)

Avoid long Table names (SQL Server)

Avoid long Table or View names

Avoid long View names (PL/SQL Oracle)

Avoid long View names (SAP SQL)

Avoid long View names (SQL Server)

Avoid loops with floating point counter (C/C++)

Avoid Main Procedures having in the same statement the combination of two words among : INDEX, SUBSTR, REPEAT, TRANSLATE (PL1)

Avoid Main Procedures having in the same statement the combination of two words among : INDEX, SUBSTR, REPEAT, TRANSLATE (PL1)

Avoid Main Procedures having LEAVE statement (PL1)

Avoid Main Procedures having the FETCH statement not followed by the word "TITLE" (PL1)

CRITICAL  Avoid Main procedures using the DATE builtin function (PL1)

CRITICAL  Avoid Main procedures using the DATE builtin Function via include PLC (PL1)

CRITICAL  Avoid managed events without matching [Event] metadata (Flex)

Avoid Menus, UserObjects and Windows that have no inheritance relations with other objects

Avoid menu with too high level of inheritance

CRITICAL  Avoid method not documented with AsDocs (Flex)

CRITICAL  Avoid Methods and Functions with a very low comment/code ratio (PHP)

CRITICAL  Avoid Methods and Functions with High Cyclomatic Complexity (PHP)

CRITICAL  Avoid Methods and Functions with High Fan-In (PHP)

CRITICAL  Avoid Methods and Functions with High Fan-Out (PHP)

Avoid Methods and Functions with lines of more than 120 characters (PHP)

Avoid Methods having a very low Comment/Code ratio (Go)

CRITICAL  Avoid methods having length exceeding the maximum (PHP)

CRITICAL  Avoid methods having too many parameters (PHP)

Avoid Methods with a low comment/code ratio (ABAP)

Avoid Methods with a very low comment/code ratio

Avoid Methods with a very low comment/code ratio

Avoid Methods with a very low comment/code ratio (JEE)

Avoid methods with a very low comment/code ratio (PowerBuilder)

CRITICAL  Avoid method with more than one exit point (Flex)

CRITICAL  Avoid ModelLocator not only accessible from the main application file (Flex)

Avoid Modules with a High number of Paths (Fortran)

Avoid Modules with a low comment/code ratio (Fortran)

Avoid Modules with a low Comments Frequency (Fortran)

Avoid Modules with a low number of Comment Blocks (Fortran)

Avoid Modules with a very low comment/code ratio

Avoid Modules with High Average size of Statements (AVGS) (Fortran)

Avoid Modules with High Cyclomatic Complexity (Fortran)

Avoid Modules with High Program Length (PR_LGTH) (Fortran)

Avoid Modules with High Vocabulary Frequency (VOCF) (Fortran)

Avoid Modules with more then 1 statement per line (Fortran)

Avoid Module with high Commented-out Code Lines/Code Lines ratio

Avoid namespaces with High Afferent Coupling (CA)

Avoid Namespaces with High Efferent Coupling (CE)

CRITICAL  Avoid nested if statements (Flex)

CRITICAL  Avoid nested switch statements (Flex)

Avoid non standard file extensions

Avoid non standard file extensions

Avoid Not ... Is

Avoid Objects with a High Depth of Inheritance Tree (PowerBuilder)

Avoid Objects with a High Number Of Children (PowerBuilder)

Avoid objects without COMMENT property

CRITICAL  Avoid obsolete E-spec (RPG400)

Avoid obsolete E-spec (RPG400)

Avoid obsolete E-spec (RPG_FP)

CRITICAL  Avoid obsolete L-spec (RPG400)

Avoid obsolete L-spec (RPG400)

Avoid obsolete L-spec (RPG_FP)

CRITICAL  Avoid OS command injection vulnerabilities ( CWE-78 )

Avoid other than main(), namespace declarations and extern "C" declarations in the global namespace (C/C++)

Avoid overriding event

CRITICAL  Avoid oversized processes Activities (1100x900) (TIBCO BW)

CRITICAL  Avoid package name in upper case (Flex)

Avoid Packages with High Afferent Coupling (CA)

Avoid Packages with High Efferent Coupling (CE)

CRITICAL  Avoid packages with high number of imports (Flex)

Avoid performing conversion from a function pointer to any other type (C/C++)

Avoid Physical files with more than X associated LF (DB400)

CRITICAL  Avoid Physical files with more than X associated LF (DDS400)

Avoid Physical files with more than X fields (DB400)

CRITICAL  Avoid Physical files with more than X fields (DDS400)

Avoid PL1 Errors Blocks having ON ERROR SYSTEM blocks and not containing and displaying ONCODE and ONLOC (PL1)

Avoid PLC Copybook using GOTO statement (PL1)

Avoid PLC Copybook with a very low comment/code ratio (PL1)

Avoid PLC Copybook with High Cyclomatic Complexity (PL1)

Avoid PLC Copybook with more than XX lines of code (PL1)

CRITICAL  Avoid PLC Includes having recursive PLC procedures (PL1)

Avoid PLC Procedures & Functions with a High Fan-in (PL1)

Avoid PLC Procedures & Functions with a High Fan-out (PL1)

Avoid PLC Procedures & Functions with a very low comment/code ratio (PL1)

Avoid PLC Procedures & Functions with High Cyclomatic Complexity (PL1)

Avoid PLC Procedures & Functions with more than 100 lines of code (PL1)

CRITICAL  Avoid PLI Functions and Procedures declared as RECURSIVE (PL1)

Avoid PLI Main procedures, PL1 function and PL1 Procedures using GOTO statement (PL1)

Avoid PLI Main Proc with High Cyclomatic Complexity (PL1)

Avoid PLI Procedures & Functions with a High Fan-in (PL1)

Avoid PLI Procedures & Functions with a High Fan-out (PL1)

Avoid PLI Procedures & Functions with a very low comment/code ratio (PL1)

Avoid PLI Procedures & Functions with High Cyclomatic Complexity (PL1)

Avoid PLI Procedures & Functions with more than 100 lines of code (PL1)

Avoid PLI Programs with a very low comment/code ratio (PL1)

Avoid PLI Programs with more than XX lines of code (PL1)

Avoid PLI Programs with more then 500 LoC and less then 5 Procedures (PL1)

Avoid PLI Programs with more then 5 internal File structures (PL1)

Avoid PLI Programs with more then XX Procedures (PL1)

Avoid PL/SQL Artifacts with High RAW SQL Complexity (PL/SQL Oracle)

Avoid Procedure Paragraphs that contains no statements

Avoid Procedures and Functions using the ITERATE statement (PL1)

Avoid Procedure Sections that contain no Paragraph

Avoid Procedures with a very low comment/code ratio (RPG400)

Avoid Procedures with a very low comment/code ratio (RPG_FP)

CRITICAL  Avoid Procedures with High Cyclomatic Complexity (RPG400)

Avoid Procedures with High Cyclomatic Complexity (RPG400)

Avoid Procedures with High Cyclomatic Complexity (RPG_FP)

CRITICAL  Avoid Procedures with High Fan-In (RPG400)

Avoid Procedures with High Fan-In (RPG400)

Avoid Procedures with High Fan-In (RPG_FP)

Avoid Procedures with High Fan-Out (RPG400)

CRITICAL  Avoid Procedures with High Fan-Out (RPG400)

Avoid Procedures with High Fan-Out (RPG_FP)

CRITICAL  Avoid Procedures with more than X lines of code (RPG400)

Avoid Procedures with more than X lines of code (RPG400)

Avoid Procedures with more than X lines of code (RPG_FP)

CRITICAL  Avoid Process with too many Activities (TIBCO BW)

Avoid Programs declaring STATIC variables (PL1)

Avoid Programs having files declared and not having the ON UNDF or ON UNDEFINEDFILE statement except SYSPRINT and SYSIN (PL1)

Avoid Programs having FIXED without BIN or BINARY or DEC or DECIMAL.The character "(" is mandatory. (PL1)

Avoid Programs having modules declared as external entries and unused (PL1)

Avoid Programs/Includes including large Includes

Avoid Programs/Includes with too many Forms

Avoid Programs mixing usage of do-while or (and) do-until (PL1)

Avoid Programs not having localSQLScope property set to NO (EGL)

Avoid Programs overriding the *PROCESS statement (PL1)

Avoid Programs with a Complex SELECT Clause (Cobol)

Avoid Programs with a high Fan-in (Fortran)

Avoid Programs with a high Fan-out (Fortran)

Avoid Programs with a High number of Paths (Fortran)

Avoid Programs with a low comment/code ratio (Fortran)

Avoid Programs with a low Comments Frequency (Fortran)

Avoid Programs with a low number of Comment Blocks (Fortran)

Avoid Programs with a very low comment/code ratio

Avoid Programs with a very low comment/code ratio (EGL)

Avoid Programs with a very low comment/code ratio (RPG300)

CRITICAL  Avoid Programs with a very low comment/code ratio (RPG300)

Avoid Programs with a very low comment/code ratio (RPG400)

CRITICAL  Avoid Programs with a very low comment/code ratio (RPG400)

Avoid Programs with a very low comment/code ratio (RPG_FP)

Avoid Programs with High Average size of Statements (AVGS) (Fortran)

Avoid Programs with High Cyclomatic Complexity (CL400)

CRITICAL  Avoid Programs with High Cyclomatic Complexity (CL400)

Avoid Programs with High Cyclomatic Complexity (Cobol)

Avoid Programs with High Cyclomatic Complexity (Fortran)

CRITICAL  Avoid Programs with High Cyclomatic Complexity (RPG300)

Avoid Programs with High Cyclomatic Complexity (RPG300)

CRITICAL  Avoid Programs with High Cyclomatic Complexity (RPG400)

Avoid Programs with High Cyclomatic Complexity (RPG400)

Avoid Programs with High Cyclomatic Complexity (RPG_FP)

Avoid Programs with High Depth of Code (Cobol)

Avoid Programs with High Essential Complexity (Cobol)

Avoid Programs with High Fan-In (Cobol)

Avoid Programs with High Fan-In (EGL)

CRITICAL  Avoid Programs with High Fan-In (RPG300)

Avoid Programs with High Fan-In (RPG300)

CRITICAL  Avoid Programs with High Fan-In (RPG400)

Avoid Programs with High Fan-In (RPG400)

Avoid Programs with High Fan-In (RPG_FP)

Avoid Programs with High Fan-Out (Cobol)

Avoid Programs with High Fan-Out (EGL)

CRITICAL  Avoid Programs with High Fan-Out (RPG300)

Avoid Programs with High Fan-Out (RPG300)

Avoid Programs with High Fan-Out (RPG400)

CRITICAL  Avoid Programs with High Fan-Out (RPG400)

Avoid Programs with High Fan-Out (RPG_FP)

Avoid Programs with High Integration Complexity (Cobol)

Avoid Programs with High Program Length (PR_LGTH) (Fortran)

Avoid Programs with High RAW SQL Complexity (Cobol)

Avoid Programs with High RAW SQL Complexity (RPG400)

Avoid Programs with High RAW SQL Complexity (RPG_FP)

Avoid Programs with High Vocabulary Frequency (VOCF) (Fortran)

CRITICAL  Avoid programs with lines having more than 80 characters (EGL)

Avoid Programs with lines of more than 80 characters

Avoid Programs with low comment/code ratio

Avoid programs with low comment / code ratio (HTML5/Javascript)

Avoid programs with low comment / code ratio (HTML5/Javascript)

Avoid programs with low comment / code ratio (Shell)

Avoid Programs with more than 3 levels of inclusion

Avoid Programs with more than X Data Structures (RPG400)

CRITICAL  Avoid Programs with more than X Data Structures (RPG400)

Avoid Programs with more than X Data Structures (RPG_FP)

Avoid Programs with more than X Functions (EGL)

CRITICAL  Avoid Programs with more than X lines of code (RPG300)

Avoid Programs with more than X lines of code (RPG300)

CRITICAL  Avoid Programs with more than X lines of code (RPG400)

Avoid Programs with more than X lines of code (RPG400)

Avoid Programs with more than X lines of code (RPG_FP)

Avoid Programs with more than X LoC and no Subroutines (RPG300)

CRITICAL  Avoid Programs with more than X LoC and no Subroutines (RPG300)

Avoid Programs with more than X LoC and no Subroutines (RPG400)

CRITICAL  Avoid Programs with more than X LoC and no Subroutines (RPG400)

Avoid Programs with more than X LoC and no Subroutines (RPG_FP)

Avoid Programs with more than X Procedures (RPG400)

Avoid Programs with more than X Procedures (RPG_FP)

CRITICAL  Avoid Programs with more than X Subroutines (RPG300)

Avoid Programs with more than X Subroutines (RPG300)

CRITICAL  Avoid Programs with more than X Subroutines (RPG400)

Avoid Programs with more than X Subroutines (RPG400)

Avoid Programs with more than X Subroutines (RPG_FP)

Avoid Programs with more then 1 statement per line (Fortran)

Avoid programs with SQL queries using old style join convention instead of ANSI-Standard joins

Avoid Programs with too many includes

CRITICAL  Avoid recursive calls with PERFORM statements

Avoid recursive Triggers

Avoid redeclaring and overriding Methods with different default parameter values

CRITICAL  Avoid Script Functions with a very low comment/code ratio (PHP)

CRITICAL  Avoid Script Functions with High Fan-In (PHP)

CRITICAL  Avoid Script Functions with High Fan-Out (PHP)

CRITICAL  Avoid scripts high number of imports (Flex)

Avoid script without interpretor access path (Shell)

Avoid Sections with a very low comment/code ratio

CRITICAL  Avoid Sections with a very low comment/code ratio (PHP)

CRITICAL  Avoid Sections with High Cyclomatic Complexity (PHP)

Avoid "SELECT *" or "SELECT SINGLE *" queries

Avoid "SELECT *" queries

Avoid "SELECT *" queries (EGL)

Avoid 'Service Contract' without any 'Operation Contract'

Avoid SQL Artifacts with High RAW SQL Complexity (JEE)

CRITICAL  Avoid SQL injection vulnerabilities ( CWE-89 )

Avoid STOP RUN (use GOBACK instead)

CRITICAL  Avoid style block embedded in the MXML file (Flex)

Avoid Subroutines with a high Fan-in (Fortran)

Avoid Subroutines with a high Fan-out (Fortran)

Avoid Subroutines with a High number of Paths (Fortran)

Avoid Subroutines with a low comment/code ratio (Fortran)

Avoid Subroutines with a low Comments Frequency (Fortran)

Avoid Subroutines with a low number of Comment Blocks (Fortran)

Avoid Subroutines with a very low comment/code ratio (RPG300)

Avoid Subroutines with a very low comment/code ratio (RPG400)

Avoid Subroutines with a very low comment/code ratio (RPG_FP)

Avoid Subroutines with High Average size of Statements (AVGS) (Fortran)

Avoid Subroutines with High Cyclomatic Complexity (Fortran)

CRITICAL  Avoid Subroutines with High Cyclomatic Complexity (RPG300)

Avoid Subroutines with High Cyclomatic Complexity (RPG300)

Avoid Subroutines with High Cyclomatic Complexity (RPG400)

CRITICAL  Avoid Subroutines with High Cyclomatic Complexity (RPG400)

Avoid Subroutines with High Cyclomatic Complexity (RPG_FP)

Avoid Subroutines with High Fan-In (RPG300)

CRITICAL  Avoid Subroutines with High Fan-In (RPG300)

Avoid Subroutines with High Fan-In (RPG400)

CRITICAL  Avoid Subroutines with High Fan-In (RPG400)

Avoid Subroutines with High Fan-In (RPG_FP)

CRITICAL  Avoid Subroutines with High Fan-Out (RPG300)

Avoid Subroutines with High Fan-Out (RPG300)

Avoid Subroutines with High Fan-Out (RPG400)

CRITICAL  Avoid Subroutines with High Fan-Out (RPG400)

Avoid Subroutines with High Fan-Out (RPG_FP)

Avoid Subroutines with High Program Length (PR_LGTH) (Fortran)

Avoid Subroutines with High Vocabulary Frequency (VOCF) (Fortran)

Avoid Subroutines with more than X lines of code (RPG300)

CRITICAL  Avoid Subroutines with more than X lines of code (RPG300)

Avoid Subroutines with more than X lines of code (RPG400)

CRITICAL  Avoid Subroutines with more than X lines of code (RPG400)

Avoid Subroutines with more than X lines of code (RPG_FP)

Avoid Subroutines with more then 1 statement per line (Fortran)

CRITICAL  Avoid Subroutines with nested if Statements (RPG300)

Avoid Subroutines with nested if Statements (RPG300)

CRITICAL  Avoid Subroutines with nested IF statements (RPG400)

Avoid Subroutines with nested IF statements (RPG400)

Avoid Subroutines with nested IF statements (RPG_FP)

Avoid super class knowing sub-class

Avoid Superclass knowing Subclass

Avoid Superclass knowing Subclass (C# .Net)

Avoid Superclass knowing Subclass in Javascript

Avoid Superclass knowing Subclass (JEE)

Avoid Superclass knowing Subclass (Swift)

Avoid Superclass (or Interface) knowing Subclass (or Interface)

Avoid superfluous parenthesis

CRITICAL  Avoid switch statement with too few branches (Flex)

Avoid Tables not using referential integrity

Avoid Tables with more than 20 columns on an OLTP system

Avoid Tables with more than 20 columns on an OLTP system (DB2 Server)

Avoid Tables with more than 20 columns on an OLTP system (SQL Server)

CRITICAL  Avoid Tables without Primary Key

CRITICAL  Avoid test that does not contain at least one assertion (Flex)

CRITICAL  Avoid too long line (Flex)

Avoid too long lines

CRITICAL  Avoid too long script block (Flex)

Avoid too many Entry statements in Functions (Fortran)

Avoid too many Entry statements in Modules (Fortran)

Avoid too many Entry statements in Programs (Fortran)

Avoid too many Entry statements in Subroutines (Fortran)

Avoid too many Exit and Entry points in Functions (Fortran)

Avoid too many Exit and Entry points in Modules (Fortran)

Avoid too many Exit and Entry points in Programs (Fortran)

Avoid too many Exit and Entry points in Subroutines (Fortran)

Avoid too many Exit statements in Functions (Fortran)

Avoid too many Exit statements in Modules (Fortran)

Avoid too many Exit statements in Programs (Fortran)

Avoid too many Exit statements in Subroutines (Fortran)

Avoid too many Statements (STMT) in a Function (Fortran)

Avoid too many Statements (STMT) in a Module (Fortran)

Avoid too many Statements (STMT) in a Program (Fortran)

Avoid too many Statements (STMT) in a Subroutine (Fortran)

CRITICAL  Avoid too short field name (Flex)

CRITICAL  Avoid too short variable name (Flex)

Avoid trailing whitespace

Avoid triggers, functions and procedures with a very low comment/code ratio

Avoid types that own disposable fields and are not disposable

CRITICAL  Avoid unassigned default values in Functions (PHP)

CRITICAL  Avoid unassigned default values in Functions (PHP)

Avoid uncommented Classes (C# .Net)

Avoid uncommented Interfaces (C# .Net)

Avoid uncommented Methods (C# .Net)

CRITICAL  Avoid unconditional IF and ELSEIF statements (PHP)

Avoid undocumented Classes

Avoid undocumented Classes (ABAP)

Avoid undocumented Classes (C++)

Avoid undocumented classes (PHP)

Avoid undocumented Classes (Visual Basic)

Avoid undocumented Events

Avoid undocumented Forms

Avoid undocumented Functions

Avoid undocumented Functions

Avoid undocumented Functions (ABAP)

Avoid undocumented Functions and Methods (Visual Basic)

Avoid undocumented Functions (C Lang.)

Avoid undocumented Functions (Fortran)

Avoid undocumented Functions (Go)

Avoid undocumented Functions, Methods, Constructors, and Destructors (C++)

Avoid undocumented functions (PowerBuilder)

Avoid undocumented Functions (Swift)

Avoid undocumented Header files

Avoid undocumented Implementation files

Avoid undocumented Includes

Avoid undocumented Interfaces

Avoid undocumented Interfaces (ABAP)

Avoid undocumented JavaScript Functions (ASP - JavaScript)

Avoid undocumented JavaScript Functions (JSP)

Avoid undocumented Methods

Avoid undocumented Methods (ABAP)

Avoid undocumented Methods (Go)

CRITICAL  Avoid undocumented Methods or Functions (PHP)

Avoid undocumented methods (PowerBuilder)

Avoid undocumented Modules

Avoid undocumented Modules (Fortran)

Avoid undocumented Pages

Avoid undocumented Paragraphs

Avoid undocumented PLC Copybook (PL1)

Avoid undocumented PLC Procedures and Functions (PL1)

Avoid undocumented PLI Procedures and Functions (PL1)

Avoid undocumented PLI Programs (PL1)

CRITICAL  Avoid undocumented processes (TIBCO BW)

Avoid undocumented Programs

Avoid undocumented Programs

Avoid undocumented Programs (EGL)

Avoid undocumented Programs (Fortran)

CRITICAL  Avoid undocumented RPG300 Programs (RPG300)

Avoid undocumented RPG300 Programs (RPG300)

Avoid undocumented RPG300 Subroutines (RPG300)

Avoid undocumented RPG400 Procedures (RPG400)

CRITICAL  Avoid undocumented RPG400 Programs (RPG400)

Avoid undocumented RPG400 Programs (RPG400)

Avoid undocumented RPG400 Subroutines (RPG400)

Avoid undocumented RPG_FP Procedures (RPG_FP)

Avoid undocumented RPG_FP Programs (RPG_FP)

Avoid undocumented RPG_FP Subroutines (RPG_FP)

CRITICAL  Avoid undocumented Script Functions (PHP)

Avoid undocumented Sections

CRITICAL  Avoid undocumented Sections (PHP)

Avoid undocumented Subroutines (Fortran)

Avoid undocumented Triggers, Functions and Procedures

Avoid undocumented User-exits

Avoid undocumented Web Server Pages

Avoid unnamed OData model

CRITICAL  Avoid unnecessary final modifiers inside final Classes (PHP)

Avoid unreferenced Classes

Avoid unreferenced Classes (ABAP)

Avoid unreferenced Classes (C++)

Avoid unreferenced Classes (C# .Net)

Avoid unreferenced Classes (JEE)

CRITICAL  Avoid unreferenced Classes (PHP)

CRITICAL  Avoid unreferenced CL Programs (CL400)

Avoid unreferenced CL Programs (CL400)

Avoid unreferenced code

CRITICAL  Avoid unreferenced Copy Members (RPG300)

CRITICAL  Avoid unreferenced Copy Members (RPG400)

Avoid unreferenced Data Members

Avoid unreferenced Data Members (C++)

Avoid unreferenced Data Members (C Lang.)

Avoid unreferenced Data Members (C# .Net)

CRITICAL  Avoid unreferenced Data Members (PHP)

Avoid unreferenced DB2 tables (PL1)

CRITICAL  Avoid unreferenced Display Files (DDS400)

Avoid unreferenced Display Files (DDS400)

Avoid unreferenced Fields (JEE)

Avoid unreferenced Files

Avoid unreferenced Functions

Avoid unreferenced Functions (ABAP)

Avoid unreferenced Functions and Stored Procedures

Avoid unreferenced Functions (C Lang.)

Avoid unreferenced Functions (Fortran)

Avoid unreferenced functions, procedures and package functions & procedures (PL/SQL Oracle)

Avoid unreferenced Functions (Shell)

Avoid unreferenced Includes

Avoid unreferenced Interfaces

Avoid unreferenced Interfaces (ABAP)

Avoid unreferenced Interfaces (C# .Net)

Avoid unreferenced Interfaces (JEE)

CRITICAL  Avoid unreferenced Interfaces (PHP)

Avoid unreferenced JavaScript Functions (ASP - JavaScript)

Avoid unreferenced JavaScript Functions (JEE)

Avoid unreferenced JSPs and web client files

Avoid unreferenced Logical file (DB400)

CRITICAL  Avoid unreferenced Logical file (DDS400)

Avoid unreferenced Main procedures (PL1)

Avoid unreferenced Members (ABAP)

Avoid unreferenced Methods

Avoid unreferenced Methods (ABAP)

Avoid unreferenced Methods (C++)

Avoid unreferenced Methods (C# .Net)

Avoid unreferenced Methods (JEE)

CRITICAL  Avoid unreferenced Methods (PHP)

Avoid unreferenced Modules (Fortran)

CRITICAL  Avoid unreferenced PHP Files (PHP)

Avoid unreferenced Physical file (DB400)

CRITICAL  Avoid unreferenced Physical file (DDS400)

Avoid unreferenced PLC Copybooks (PL1)

Avoid unreferenced PLC DB2 tables (PL1)

Avoid unreferenced PLC Procedures & Functions (PL1)

Avoid unreferenced PLI Procedures & Functions (PL1)

CRITICAL  Avoid unreferenced Printer Files (DDS400)

Avoid unreferenced Printer Files (DDS400)

Avoid unreferenced Process Activities (TIBCO BW)

Avoid unreferenced Processes (TIBCO BW)

Avoid unreferenced Process Groups (TIBCO BW)

Avoid unreferenced Programs (Fortran)

CRITICAL  Avoid unreferenced Programs (RPG300)

Avoid unreferenced Programs (RPG300)

CRITICAL  Avoid unreferenced Programs (RPG400)

Avoid unreferenced Programs (RPG400)

Avoid unreferenced Programs (RPG_FP)

Avoid unreferenced Programs (Shell)

CRITICAL  Avoid unreferenced Script Functions (PHP)

Avoid unreferenced Sections and Paragraphs

Avoid unreferenced Subroutines (Fortran)

Avoid unreferenced Subroutines (RPG300)

CRITICAL  Avoid unreferenced Subroutines (RPG300)

CRITICAL  Avoid unreferenced Subroutines (RPG400)

Avoid unreferenced Subroutines (RPG400)

Avoid unreferenced Subroutines (RPG_FP)

Avoid unreferenced Tables

Avoid unreferenced views

CRITICAL  Avoid unused Function parameters (PHP)

Avoid Unused Imports

CRITICAL  Avoid unused private attribute (Flex)

CRITICAL  Avoid unused private fields (PHP)

CRITICAL  Avoid unused private method (Flex)

CRITICAL  Avoid unused private methods (PHP)

Avoid unused private types or members

CRITICAL  Avoid unused variable (Flex)

CRITICAL  Avoid uppercase keywords for control structures in Functions and Methods(PHP)

CRITICAL  Avoid uppercase keywords for control structures in Sections(PHP)

CRITICAL  Avoid useless overriding Methods (PHP)

Avoid User-Exits with low comment/code ratio

Avoid userobject with too high level of inheritance

Avoid Userobject with too many Methods

CRITICAL  Avoid using ABAP command GENERATE SUBROUTINE POOL

Avoid using a break statement in 'for' loops

Avoid using a break statement in 'for' loops

Avoid using AbsoluteLayout

CRITICAL  Avoid using a goto statements (PHP)

CRITICAL  Avoid using ALTER

Avoid using '//' and '/*' within comments (C/C++)

Avoid using anonymous Classes

CRITICAL  Avoid using BREAK or BREAK-POINT statement

Avoid using complex Allocates in Fortran 90 Function (Fortran)

Avoid using complex Allocates in Fortran 90 Modules (Fortran)

Avoid using complex Allocates in Fortran 90 Programs (Fortran)

Avoid using complex Allocates in Fortran 90 Subroutines (Fortran)

Avoid using COMPUTE statement for elementary arithmetic operation

Avoid using C-style and functional notation casts (C++)

Avoid using Dynamic instantiation

CRITICAL  Avoid using empty statement (PHP)

Avoid using 'enum' types as operands for arithmetic contexts

CRITICAL  Avoid using eval expressions (PHP)

CRITICAL  Avoid using exit and die expressions (PHP)

Avoid using EXIT statement in Include

Avoid using explain() in production code

Avoid using EXPORT(*ALL) in Service Programs (CRTSRVPGM) command) (RPG300)

Avoid using EXPORT(*ALL) in Service Programs (CRTSRVPGM) command) (RPG400)

Avoid using EXPORT(*ALL) in Service Programs (CRTSRVPGM) command) (RPG_FP)

Avoid using fixed format files in Fortran-90 (Fortran)

Avoid using free format files in Fortran-77 (Fortran)

Avoid using GOTO statement

Avoid using GOTO statement

Avoid using GOTO statement (DB2 Server)

Avoid using GOTO statement in RPG Programs (RPG400)

CRITICAL  Avoid using GOTO statement in RPG Programs (RPG400)

Avoid using GOTO statement in RPG Programs (RPG_FP)

Avoid using GOTO statement (PL/SQL Oracle)

Avoid using GOTO statement (SQL Server)

Avoid using goto to jump backwards into a statement in the same function(C/C++)

Avoid using hard-coded values

Avoid using inline PERFORM with too many lines of code

Avoid using I-spec (RPG-IV only) (RPG400)

CRITICAL  Avoid using I-spec (RPG-IV only) (RPG400)

Avoid using I-spec (RPG-IV only) (RPG_FP)

Avoid using Javascript Array typecheck in AngularJS application

Avoid using Javascript Date typecheck in AngularJS application

Avoid using Javascript Function typecheck in AngularJS application

Avoid using Javascript Number typecheck in AngularJS application

Avoid using Javascript Object typecheck in AngularJS application

Avoid using Javascript Regexp typecheck in AngularJS application

Avoid using Javascript String typecheck in AngularJS application

Avoid using Keywords as names

Avoid using late binding

Avoid using letters as I, J, K,.. for loops instead of using more meaningful variables (PL1)

Avoid using Main Procedures not having the same name as the file name (PL1)

Avoid using more than one scripting language in one page

CRITICAL  Avoid using MOVE CORRESPONDING ... TO ...

Avoid using nested programs

Avoid using 'new[]', prefer 'std::vector' or 'std::array'

Avoid using NEXT SENTENCE

CRITICAL  Avoid using obsolete "Arithmetic Operations" Statement in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Arithmetic Operations" Statement in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Arithmetic Operations" Statement in RPG Programs (RPG-IV only) (RPG_FP)

CRITICAL  Avoid using obsolete "Assignment Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Assignment Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Assignment Operations" statements in RPG Programs (RPG-IV only) (RPG_FP)

Avoid using Obsolete attributes without message

CRITICAL  Avoid using obsolete "Bit Operations" statements in RPG Programs (RPG300)

Avoid using obsolete "Bit Operations" statements in RPG Programs (RPG300)

CRITICAL  Avoid using obsolete "Bit Operations" statements in RPG Programs (RPG400)

Avoid using obsolete "Bit Operations" statements in RPG Programs (RPG400)

Avoid using obsolete "Bit Operations" statements in RPG Programs (RPG_FP)

CRITICAL  Avoid using obsolete "Call Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Call Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Call Operations" statements in RPG Programs (RPG-IV only) (RPG_FP)

Avoid using obsolete "Conditional Operations" statements in RPG Subroutines (RPG-IV only) (RPG400)

CRITICAL  Avoid using obsolete "Conditional Operations" statements in RPG Subroutines (RPG-IV only) (RPG400)

Avoid using obsolete "Conditional Operations" statements in RPG Subroutines (RPG-IV only) (RPG_FP)

CRITICAL  Avoid using obsolete "Date Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Date Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Date Operations" statements in RPG Programs (RPG-IV only) (RPG_FP)

CRITICAL  Avoid using obsolete "Definition/Allocation/Array Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Definition/Allocation/Array Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "Definition/Allocation/Array Operations" statements in RPG Programs (RPG-IV only) (RPG_FP)

CRITICAL  Avoid using obsolete "String Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "String Operations" statements in RPG Programs (RPG-IV only) (RPG400)

Avoid using obsolete "String Operations" statements in RPG Programs (RPG-IV only) (RPG_FP)

Avoid using O-spec; use Printer Files instead (RPG400)

CRITICAL  Avoid using O-spec; use Printer Files instead (RPG400)

Avoid using O-spec; use Printer Files instead (RPG_FP)

Avoid using PERFORM ... THROUGH | THRU

CRITICAL  Avoid using plain END statement, use the explained END statement like ENDIF, ENDDO, etc (RPG300)

Avoid using plain END statement, use the explained END statement like ENDIF, ENDDO, etc (RPG300)

CRITICAL  Avoid using plain END statement, use the explained END statement like ENDIF, ENDDO, etc (RPG400)

Avoid using plain END statement, use the explained END statement like ENDIF, ENDDO, etc (RPG400)

Avoid using plain END statement, use the explained END statement like ENDIF, ENDDO, etc (RPG_FP)

Avoid using Pointers

Avoid using $scope in controllers

Avoid using Sections in the PROCEDURE DIVISION (use Paragraphs only)

CRITICAL  Avoid using SELECT ... INTO CORRESPONDING FIELDS OF

Avoid using 'setjmp' or 'longjmp' (C/C++)

Avoid using static_cast on class/struct pointers

Avoid using the loop DO.. label.. CONTINUE in F90 Functions (Fortran)

Avoid using the loop DO.. label.. CONTINUE in F90 Modules (Fortran)

Avoid using the loop DO.. label.. CONTINUE in F90 Programs (Fortran)

Avoid using the loop DO.. label.. CONTINUE in F90 Subroutines (Fortran)

CRITICAL  Avoid using the with keyword (Flex)

Avoid using too many CONTINUE statements in Fortran-77 Functions (Fortran)

Avoid using too many CONTINUE statements in Fortran-77 Modules (Fortran)

Avoid using too many CONTINUE statements in Fortran-77 Programs (Fortran)

Avoid using too many CONTINUE statements in Fortran-77 Subroutines (Fortran)

Avoid using too many CYCLE or/and EXIT statements in Fortran-90 Functions (Fortran)

Avoid using too many CYCLE or/and EXIT statements in Fortran-90 Modules (Fortran)

Avoid using too many CYCLE or/and EXIT statements in Fortran-90 Program (Fortran)

Avoid using too many CYCLE or/and EXIT statements in Fortran-90 Subroutines (Fortran)

Avoid using too many GOTO statement in Functions (Fortran)

Avoid using too many GOTO statement in Modules (Fortran)

Avoid using too many GOTO statement in Programs (Fortran)

Avoid using too many GOTO statement in Subroutines (Fortran)

Avoid using typeid in polymorphic class from the body of its constructor or destructor.

CRITICAL  Avoid using untyped DataSet

Avoid using URL.equals(Object obj) or URL.hashCode()

CRITICAL  Avoid using variable without testing them for initialisation (PHP)

CRITICAL  Avoid variable incorrectly named. (Flex)

CRITICAL  Avoid variable names ending with numeric characters (Flex)

CRITICAL  Avoid Variables declared as Variants

Avoid Web Server pages having a very low Comment/Code ratio

Avoid Windows with too many Methods

Avoid window with too high level of inheritance

CRITICAL  Avoid XPath injection vulnerabilities ( CWE-91 )

A WS-BPEL processor MUST reject any WSDL portType definition that includes overloaded operation names.

Based Data Block Items naming convention - represented column

Based Data Blocks naming convention - represented table

Better to use QUALIFIED datastructures (RPG300)

Better to use QUALIFIED data structures (RPG400)

CRITICAL  Better to use QUALIFIED data structures (RPG400)

Better to use QUALIFIED data structures (RPG_FP)

CRITICAL  Casting from pointer to base Class to pointer to derived Class should be done through 'dynamic_cast' or 'static_cast'

CDS view association name should be defined according to the naming convention (S4/HANA)

CRITICAL  Check usage of '==' and '!=' on objects

Classes and Interfaces must have JavaDoc @author tag

Classes and Interfaces must have JavaDoc Comments

Class naming convention

Class naming convention - case and character set control

Class naming convention - case and character set control (C# .Net)

Class naming convention - case control

Class naming convention - case control

Class Naming convention - character set and case control (Visual Basic)

Consistent File full name and directory structure

Constant naming convention - case control

Constant naming convention - case control

"continue" statement should not be used.

Controls must inherit from a userobject

Controls naming convention - prefix, case and character set control

Cursor naming convention - prefix control

Database table naming convention - prefix control

Database view naming convention - prefix control

Data Members naming convention - case control

Datawindow naming convention

Declare as Final all classes that will not be sub-classed

Do not alter a control variable in the body of a 'for' statement

Do not hide declarations in other scopes

Do not overload the ampersand, comma, logical AND or logical OR operators

Do not use COMMON blocks in Fortran-90 in Functions (Fortran)

Do not use COMMON blocks in Fortran-90 in Modules (Fortran)

Do not use COMMON blocks in Fortran-90 in Programs (Fortran)

Do not use COMMON blocks in Fortran-90 in Subroutines (Fortran)

Do not use EQUIVALENCE in Functions (Fortran)

Do not use EQUIVALENCE in Modules (Fortran)

Do not use EQUIVALENCE in Programs (Fortran)

Do not use EQUIVALENCE in Subroutines (Fortran)

Don't override or add control methods (SAPUI5)

Each method in an Action Class should have a small complexity

Ensure Switch statements have at least 2 case clauses (C/C++)

Enumeration Items naming convention - case and character set control

Enumerations naming convention - case and character set control

"enum" members other than the first one should not be explicitly initialized unless all members are explicitly initialized.

EVALUATE statements must be closed by END-EVALUATE

Event naming convention - case control

Events naming convention - case and character set control

Exceptions naming convention - case and character set control

Exceptions naming convention - case, character set and suffix control (C# .Net)

Exceptions naming convention -suffix control

Favor PreparedStatement or CallableStatement over Statement

Field naming convention - case control

Fields must have JavaDoc Comments

File naming convention - embedded Class

For flow, a declared link’s name MUST be unique among all link names defined within the same immediately enclosing flow.

Form Naming convention - prefix control (Visual Basic)

Forms naming convention - prefix control

Forms naming convention - prefix control (Forms)

For reply, if toPart elements are used on a reply activity then the variable attribute MUST NOT be used on the same activity.

Functional Evolvability

Function naming convention

Function naming convention - prefix control (DB2 Server)

Function naming convention - prefix control (PL/SQL Oracle)

Function naming convention - prefix control (SQL Server)

Global function naming convention

Global variable naming convention

Good use of Interfaces when instantiating a collection

Good use of Interfaces with collections as Method return types

CRITICAL  HealthNet : Avoid GOTO (should be GOSUB)

CRITICAL  HealthNet : Avoid missing fixed statements in Header code

CRITICAL  HealthNet: Avoid ON ERROR (should be WHEN ERROR)

CRITICAL  HealthNet: Avoid Programs With High Cyclomatic Complexity

CRITICAL  HealthNet : Avoid Programs with low comment/code ratio’s

CRITICAL  HealthNet : Avoid Program with No Header comments

CRITICAL  HealthNet : Avoid Program with no INITIALIZATION paragraph

CRITICAL  HealthNet :Avoid Program with no WRAP_UP paragraph

CRITICAL  HealthNet : Avoid undocumented Programs

CRITICAL  HealthNet : EMAIL IDs Should Not be Hard Coded

CRITICAL  HealthNet : Phone Numbers Should Not be Hard Coded

CRITICAL  HealthNet : Social Security Numbers Should not be hard coded

IF statements must be closed by END-IF

If the variable attribute is used in the onEvent element, either the messageType or the element attribute MUST be provided in the onEvent element.

Include naming convention

Index pages and global.asa must be located in the root directory

'Initialize ancestors when overriding __init__'

Instance variable naming convention

Interface naming convention (ABAP)

Interface naming convention - case and character set control

Interface naming convention - case control

Interface naming convention - prefix

Logical operators should be enclosed in proper parenthesis in Functions (Fortran)

Logical operators should be enclosed in proper parenthesis in Modules (Fortran)

Logical operators should be enclosed in proper parenthesis in Programs (Fortran)

Logical operators should be enclosed in proper parenthesis in Subroutines (Fortran)

Macros naming convention - case control

Macros naming conventions - case control

Make base class destructor public and virtual, or protected and non virtual

Mandate curly braces

Menu naming convention

Method naming convention

Method naming convention - case control

Method naming convention - case control

Methods must have appropriate JavaDoc @exception tags

Methods must have appropriate JavaDoc @param tags

Methods must have appropriate JavaDoc @return tags

Methods must have appropriate JavaDoc @throws tags

Methods must have JavaDoc comments

Methods naming convention - case and character set control

Method/Sub naming convention - case control

Missing whitespace after comma

Namespace naming convention - case control

CRITICAL  Never define static variables in header files

Non static functions naming conventions - case control

Not Based Data Block Items naming convention - prefix control

Not Based Data Blocks naming convention - prefix control

Number of continuation lines can't be greater then XX in Fortran-90 Functions (Fortran)

Number of continuation lines can't be greater then XX in Fortran-90 Modules (Fortran)

Number of continuation lines can't be greater then XX in Fortran-90 Programs (Fortran)

Number of continuation lines can't be greater then XX in Fortran-90 Subroutines (Fortran)

Objective-C interface overrides the isEqual: method but not the hash method

Objective-C interface overrides the isEqual: method but not the hash method

Override all overloads of a base Class virtual Method

Package Function naming convention - prefix control

Package Function naming convention - prefix control

Package Function naming convention - prefix control

Package Function naming convention - prefix control

Package Function naming convention - prefix control

Package naming convention - case control

Package naming convention - prefix control

Package naming convention - prefix control

Package naming convention - prefix control

Package naming convention - prefix control

Package naming convention - prefix control

Package size control

Package Stored Procedure naming convention - prefix control

Package Stored Procedure naming convention - prefix control

Package Stored Procedure naming convention - prefix control

Package Stored Procedure naming convention - prefix control

Package Stored Procedure naming convention - prefix control

Pages with less than 3 levels of inclusion

Paragraph naming convention - prefix control

Prefer using sap.base.Log Instead of console.log (SAPUI5)

Private fields must have JavaDoc Comments

Private Fields naming convention - case and character set control

Processing Screen Naming Convention

Program naming convention

Program naming convention - prefix control

CRITICAL  Program semantic should respect the logic of flow execution

CRITICAL  Proper overriding of 'clone()'

CRITICAL  Proper overriding of 'finalize()'

Properties naming convention - case and character set control

Property naming convention - case control

Public Fields naming convention - case and character set control

Respect class naming conventions

Respect function naming conventions

Respect variable naming conventions

SAP database view naming convention (ABAP)

SAP Table naming convention (ABAP)

Section naming convention - prefix control

Sections and paragraphs should be located after the first statement calling them

SQL Function naming convention - prefix control

Static Functions naming conventions - case control

Stored Procedure naming convention - prefix control

Stored Procedure naming convention - prefix control (DB2 Server)

Stored Procedure naming convention - prefix control (PL/SQL Oracle)

Stored Procedure naming convention - prefix control (SQL Server)

Structure naming convention

CRITICAL  Suspicious similar method names or signatures in an inheritance tree

Table naming convention - character set control

Table naming convention - character set control

Table naming convention - character set control

Table naming convention - character set control

Table naming convention - character set control

Table naming convention - name size control

Table naming convention - prefix control (DB2 Server)

Table naming convention - prefix control (PL/SQL Oracle)

Table naming convention - prefix control (SQL Server)

Tables aliases should not end with a numeric suffix

The compensateScope activity MUST only be used from within a faultHandler, another compensationHandler, or a terminationHandler.

The messageType, type or element attributes are used to specify the type of a variable. Exactly one of these attributes MUST be used.

The name of a correlationSet MUST be unique among the names of all correlationSet defined within the same immediately enclosing scope.

The name of a partnerLink MUST be unique among the names of all partnerLinks defined within the same immediately enclosing scope.

The name of a variable MUST be unique among the names of all variables defined within the same immediately enclosing scope.

There MUST be at least one catch or catchAll element within a faultHandlers element.

The rethrow activity MUST only be used within a faultHandler (i.e. catch and catchAll elements)

Transaction naming convention

Trigger naming convention - prefix control

Trigger naming convention - prefix control (DB2 Server)

Trigger naming convention - prefix control (PL/SQL Oracle)

Trigger naming convention - prefix control (SQL Server)

Types naming conventions - suffix control

Unreferenced Classes (Visual Basic)

Unreferenced Forms

Unreferenced Functions and Methods (Visual Basic)

Unreferenced Modules

Use Angular factory() instead of service()

Use Angular wrapper service $document

Use Angular wrapper service $timeout

Use Angular wrapper service $window

Use at most one statement per line

Use at most one statement per line (SQL)

CRITICAL  Use identical type operators rather than EQUAL operators (PHP)

CRITICAL  Use Increment/decrement operators where possible

Use Option Explicit

User event naming convention

User event naming convention - declare only

Variable names are BPELVariableNames, that is, NCNames (as defined in XML Schema specification) but in addition they MUST NOT contain the “.” character.

View naming convention - character set control

View naming convention - character set control

View naming convention - character set control

View naming convention - character set control

View naming convention - character set control

View naming convention - name size control

View naming convention - prefix control (DB2 Server)

View naming convention - prefix control (PL/SQL Oracle)

View naming convention - prefix control (SQL Server)

CRITICAL  Web Dynpro - Avoid changing the program flow

CRITICAL  Web Dynpro - Never use INCLUDE statement

When the variable used in from or to is defined using XML Schema types (simple or complex) or element, the part attribute MUST NOT be used.

When using compound indexes, avoid having different indexes

When using compound indexes, avoid having different index ordering in collection access

Where multiple handlers are provided in a single try-catch statement or function-try-block, any ellipsis (catch-all) handler shall occur last.

Window naming convention