PowerBuilder

PowerBuilder Rules

Category Severity Name Description
Vulnerability Critical AES encryption algorithm should be used with secured mode AES encryption algorithm should be used with secured mode
Bug Major All branches in a conditional structure should not have exactly the same implementation All branches in a conditional structure should not have exactly the same implementation
Maintainability Minor Boolean checks should not be inverted Boolean checks should not be inverted
Maintainability Minor Boolean literals should not be redundant Boolean literals should not be redundant
Maintainability Critical CASE expressions should end with ELSE clauses CASE expressions should end with ELSE clauses
Maintainability Minor CASE should be used for sequences of simple tests CASE should be used for sequences of simple tests
Maintainability Major CASE structures should not have too many WHEN clauses CASE structures should not have too many WHEN clauses
Maintainability Major Collapsible if statements should be merged Collapsible if statements should be merged
Maintainability Minor Comments should not be located at the end of lines of code Comments should not be located at the end of lines of code
Vulnerability Minor Console logging should not be used Console logging should not be used
Vulnerability Critical CoSetProxyBlanket and CoInitializeSecurity should not be used CoSetProxyBlanket and CoInitializeSecurity should not be used
Vulnerability Critical Cryptographic keys should be robust Cryptographic keys should be robust
Vulnerability Critical Database queries should not be vulnerable to injection attacks Database queries should not be vulnerable to injection attacks
Vulnerability Critical DES Crypting DES Crypting should not be used
Vulnerability Critical Encryption algorithms should be used with secure mode and padding scheme Encryption algorithms should be used with secure mode and padding scheme
Maintainability Minor EXIT should not be used in loops EXIT should not be used in loops
Vulnerability Minor Fields should not have public accessibility Fields should not have public accessibility
Maintainability Major Files should not have too many lines of code Files should not have too many lines of code
Maintainability Major FOR loop end conditions should not be hard - coded FOR loop end conditions should not be hard - coded
Maintainability Major Function and Event parameters should comply with a naming convention Function and Event parameters should comply with a naming convention
Maintainability Major Function OR Event name should comply with a naming convention Function OR Event name should comply with a naming convention
Maintainability Major Functions Or Events should not have too many parameters Functions Or Events should not have too many parameters
Bug Critical Functions should end with RETURN statements Functions should end with RETURN statements
Vulnerability Minor Generic exceptions should not be ignored Generic exceptions should not be ignored
Maintainability Critical GOTO should not be used to jump backwards GOTO should not be used to jump backwards
Maintainability Major GOTO should not be used within loops GOTO should not be used within loops
Maintainability Major GOTO statements should not be used GOTO statements should not be used
Vulnerability Critical Hard coded IP address Hard coded IP address should not be used
Vulnerability Critical Hard coded UserId / Password Hard coded UserId / Password for database connection should not be used
Vulnerability Critical I/O function calls should not be vulnerable to path injection attacks I/O function calls should not be vulnerable to path injection attacks
Maintainability Critical IF ... ELSEIF constructs should end with ELSE clauses IF ... ELSEIF constructs should end with ELSE clauses
Bug Major IF statement conditions should not evaluate unconditionally to TRUE or to FALSE IF statement conditions should not evaluate unconditionally to TRUE or to FALSE
Maintainability Critical IF statements should not be nested too deeply IF statements should not be nested too deeply
Bug Major Jump statements should not be followed by dead code Jump statements should not be followed by dead code
Maintainability Minor Jump statements should not be redundant Jump statements should not be redundant
Maintainability Major Lines should not be too long Lines should not be too long
Maintainability Minor Lines should not end with trailing whitespaces Lines should not end with trailing whitespaces
Bug Major Loops with at most one iteration should be refactored Loops with at most one iteration should be refactored
Vulnerability Minor Mutable fields should not be public static Mutable fields should not be public static
Maintainability Critical Newline and control characters should not be used in string literals Newline and control characters should not be used in string literals
Vulnerability Critical OS commands should not be vulnerable to injection attacks OS commands should not be vulnerable to injection attacks
Maintainability Major Redundant pairs of parentheses should be removed Redundant pairs of parentheses should be removed
Vulnerability Critical Regular expressions should not be vulnerable to Denial of Service attacks Regular expressions should not be vulnerable to Denial of Service attacks
Bug Major Related IF/ELSIF statements and WHEN clauses in a CASE should not have the same condition Related IF/ELSIF statements and WHEN clauses in a CASE should not have the same condition
Maintainability Minor Return of boolean expressions should not be wrapped into an if-then-else statement Return of boolean expressions should not be wrapped into an if-then-else statement
Vulnerability Critical SHA-1 and Message-Digest hash algorithms should not be used in secure contexts SHA-1 and Message-Digest hash algorithms should not be used in secure contexts
Vulnerability Critical Soap and INET Soap and INET should not be used
Maintainability Major Statements should be on separate lines Statements should be on separate lines
Maintainability Critical String literals should not be duplicated String literals should not be duplicated
Maintainability Major Track uses of FIXME tags Track uses of FIXME tags
Maintainability Information Track uses of TODO tags Track uses of TODO tags
Maintainability Major Two branches in a conditional structure should not have exactly the same implementation Two branches in a conditional structure should not have exactly the same implementation
Maintainability Major Unused event and function parameters should be removed Unused event and function parameters should be removed
Maintainability Minor Unused global variables/constants should be removed Unused global variables/constants should be removed
Maintainability Major Unused labels should be removed Unused labels should be removed
Maintainability Minor Unused local variables should be removed Unused local variables should be removed
Maintainability Minor Variables should comply with a naming convention Variables should comply with a naming convention
Bug Major Variables should not be self-assigned Variables should not be self-assigned
Maintainability Major WHEN clauses should not have too many lines WHEN clauses should not have too many lines