Skip to main content
Discover
Features
Target Users
Architecture
Evaluate
Benefits
Clients
Success Story
Live Demo
Decide
Pricing
Partners
Agreement
Contact
Resources
Downloads
Documentation
Demo
Login
Discover
Features
Target Users
Architecture
Evaluate
Benefits
Clients
Success Story
Live Demo
Decide
Pricing
Partners
Agreement
Contact
Resources
Downloads
Documentation
Demo
CachéQuality
Installation and Setup
SonarQube
JDK 8 Installation
Database Installation
SonarQube Installation
SonarQube Scanner Setup
cachéQuality plugin Setup
cachedb-import Setup
Continous Integration Server
Tomcat Installation
Jenkins Installation
Jenkins Setup
Proxy Jenkins and SonarQube
Upgrade
Update SonarQube
Update Jenkins
Platform Securization
Analysis
Setup a new project in Jenkins
Code Coverage
Parsing errors
Rules
Metrics
Release notes
Security Notes
CachéQuality for Caché Studio
Installation
Standalone mode
Connected mode
Release notes
CachéQuality for VSCode
Installation
Connected mode
Rules Filter
Type
Bug
Code Smell
Vulnerability
Severity
Blocker
Critical
Major
Minor
Info
SQALE characteristic
Reusability
Reusability Compliance
Modularity
Portability
Portability Compliance
Maintainability
Maintainability compliance
Readability
Understandability
Security
API abuse
Errors
Security compliance
Efficiency
Efficiency compliance
Changeability
Data
Logic
Reliability
Data
Exception handling
Fault tolerance
Instruction
Logic
Resource
Tags
bug
cache-2014
clarity
clumsy
coding-guidelines
confusing
convention
deprecation
design
maintainability
performance
portability
probable-bug
reliability
runtime-failure
suspicious
trap
Rules
#Dim declaring an initial value
Minor
Code Smell
Reliability
Instruction
maintainability
#Dim directive with no associated type
Major
Code Smell
Maintainability
Readability
coding-guidelines, maintainability
$CASE(...) with no default case
Major
Code Smell
Reliability
Instruction
clarity, coding-guidelines
Avoid using short names for ObjectScript functions
Info
Code Smell
Maintainability
Readability
coding-guidelines, confusing
Avoid using short names for system functions
Info
Code Smell
Maintainability
Readability
coding-guidelines, confusing
Boolean expression not surrounded by parentheses
Minor
Code Smell
Reliability
Logic
clarity, coding-guidelines
ByRef/Output method argument not assigned
Major
Code Smell
Reliability
Data
probable-bug
Catch not inspecting the thrown exception
Major
Code Smell
Reliability
Exception handling
coding-guidelines
Class declared as "Not ProcedureBlock"
Blocker
Vulnerability
Security
Security compliance
design
Class has too many methods
Major
Code Smell
Changeability
Logic
design, maintainability
Class has too many parameters
Major
Code Smell
Changeability
Logic
design
Class has too many properties
Major
Code Smell
Changeability
Logic
design
Class not declared abstract
Info
Code Smell
Changeability
Data
coding-guidelines, convention
Class not found
Critical
Bug
Reliability
Resource
runtime-failure
Confusing use of numeric test operators
Info
Code Smell
Maintainability
Readability
confusing, deprecation
Depth of Inheritance Tree too large for class
Major
Code Smell
Reusability
Reusability Compliance
design
Empty catch block
Major
Code Smell
Changeability
Logic
design
Emtpy method
Critical
Code Smell
Reliability
Logic
clarity, suspicious
Idenfitiers differing only by case
Critical
Code Smell
Maintainability
Readability
clumsy, confusing
Implicit access to last global
Critical
Code Smell
Reliability
Instruction
clarity, coding-guidelines, confusing
Implicit inspection of $TEST
Critical
Code Smell
Maintainability
Understandability
clarity, confusing
Incompatible argument type in a method
Minor
Bug
Reliability
Instruction
runtime-failure
LCOM4 too high for class
Major
Code Smell
Reusability
Modularity
design
Legacy flow control with more than one statement
Major
Code Smell
Maintainability
Readability
coding-guidelines, confusing
Legacy flow control with no associated statements
Blocker
Code Smell
Reliability
Logic
deprecation, probable-bug, trap
Line label name is the same as a builtin command
Critical
Code Smell
Reliability
Instruction
probable-bug, trap
Local variable name is too long
Critical
Bug
Reliability
Data
trap
Local variable not previously declared
Minor
Code Smell
Maintainability
Readability
clarity, coding-guidelines
Method argument not passed by reference
Major
Code Smell
Reliability
Data
probable-bug
Method argument with no type
Major
Code Smell
Maintainability
Understandability
coding-guidelines, maintainability
Method arguments with default values not at the end
Major
Code Smell
Maintainability
Readability
coding-guidelines, confusing
Method declared as "ProcedureBlock = 0"
Blocker
Vulnerability
Security
Security compliance
design, maintainability
Method has too many arguments
Major
Code Smell
Efficiency
Efficiency compliance
design, maintainability, performance
Method has too many lines
Critical
Code Smell
Maintainability
Maintainability compliance
design, maintainability
Method has too many statements
Critical
Code Smell
Maintainability
Maintainability compliance
design, maintainability
Method is too complex
Critical
Code Smell
Maintainability
Maintainability compliance
design, maintainability
Method is too deeply nested
Critical
Code Smell
Changeability
Logic
design, maintainability
Method lack return type
Major
Code Smell
Reliability
Instruction
coding-guidelines, probable-bug
Method never invoked
Major
Code Smell
Reliability
Instruction
design, maintainability
Method not found
Critical
Bug
Reliability
Instruction
runtime-failure
Method uses too many variables
Major
Code Smell
Efficiency
Efficiency compliance
design, maintainability, performance
Method with unexpected arguments
Critical
Bug
Reliability
Instruction
runtime-failure
Methods failing to return a result on all code paths
Blocker
Bug
Reliability
Fault tolerance
bug
Missing argument(s) in method call
Blocker
Bug
Reliability
Data
runtime-failure
Missing parentheses in the Boolean expression
Minor
Code Smell
Reliability
Logic
clarity, coding-guidelines
No quit (or return) found
Critical
Bug
Reliability
Data
runtime-failure
OPEN without a timeout
Blocker
Code Smell
Reliability
Fault tolerance
probable-bug, trap
Property name declared with quotes
Info
Code Smell
Maintainability
Readability
clarity, coding-guidelines
Property not found
Critical
Bug
Reliability
Data
runtime-failure
Property of type %String without a MAXLEN
Major
Code Smell
Efficiency
Efficiency compliance
performance
Quit whitout arguments
Critical
Bug
Reliability
Data
runtime-failure
Reassignment to a method argument passed by value
Major
Code Smell
Reliability
Data
coding-guidelines, probable-bug
Return value of method not declared
Critical
Code Smell
Reliability
Instruction
probable-bug
Several statements on a single line
Major
Code Smell
Maintainability
Readability
clarity, coding-guidelines, confusing
Subscript access to a non MultiDimensional property
Blocker
Bug
Security
Errors
runtime-failure
Try block is too long
Major
Code Smell
Changeability
Logic
design, maintainability
Undocumented class/method
Major
Code Smell
Maintainability
Understandability
maintainability
Unnecessary ELSE
Minor
Code Smell
Maintainability
Understandability
coding-guidelines
Unsafe namespace change
Critical
Code Smell
Reliability
Instruction
probable-bug
Unused method argument
Major
Code Smell
Efficiency
Efficiency compliance
maintainability, performance
Usage of GOTO
Blocker
Code Smell
Changeability
Logic
confusing, deprecation, maintainability
Usage of legacy for flow control statements
Critical
Code Smell
Changeability
Logic
coding-guidelines, deprecation
Usage of legacy if/else flow control statements
Critical
Code Smell
Changeability
Logic
coding-guidelines, deprecation
Usage of non short circuit boolean operators
Critical
Code Smell
Reliability
Logic
performance, reliability
Usage of QUIT to exit a method
Major
Code Smell
Maintainability
Understandability
cache-2014, clarity, coding-guidelines
Use of "Set $ECODE"
Blocker
Code Smell
Reliability
Exception handling
confusing, deprecation, design, maintainability
Use of $ETRAP
Blocker
Code Smell
Reliability
Exception handling
confusing, deprecation
Use of $PROPERTY, $PARAMETER, $METHOD or $CLASSMETHOD
Critical
Code Smell
Security
API abuse
design, maintainability
Use of $ZORDER is deprecated
Info
Code Smell
Security
API abuse
deprecation
Use of $ZUTIL may be replaced
Info
Code Smell
Security
API abuse
deprecation
Use of &sql
Major
Code Smell
Efficiency
Efficiency compliance
performance
Use of a macro as a statement
Major
Code Smell
Maintainability
Understandability
coding-guidelines, confusing, maintainability
Use of BREAK
Blocker
Code Smell
Reliability
Instruction
probable-bug, trap
Use of custom getters or setters
Blocker
Code Smell
Reliability
Instruction
design, maintainability, reliability
Use of OPEN is discouraged
Critical
Code Smell
Security
API abuse
confusing, deprecation
Use of postconditionals
Minor
Code Smell
Maintainability
Readability
clarity, coding-guidelines
Use of the HANG command
Blocker
Code Smell
Reliability
Instruction
probable-bug
Use of XECUTE
Critical
Vulnerability
Reliability
Instruction
coding-guidelines, deprecation, performance
Using =' instead of '= for null oref checks
Blocker
Code Smell
Reliability
Instruction
probable-bug, trap
Variable declared but not used
Major
Code Smell
Efficiency
Efficiency compliance
maintainability, performance
Variable name is the same as a builtin command
Critical
Code Smell
Security
API abuse
confusing
Variable name with non ASCII letters/digits
Critical
Code Smell
Portability
Portability Compliance
coding-guidelines, portability
Variable not found
Critical
Bug
Reliability
Data
runtime-failure
Width of Inheritance Tree too large for class
Major
Code Smell
Reusability
Reusability Compliance
design