8. Rulesets

8.1. Presentation

Analysis are grouped in different rulesets, that may be run independantly. Each ruleset has a focus target,

Rulesets runs all its analysis and any needed dependency.

Rulesets are configured with the -T option, when running exakat in command line. For example :

php exakat.phar analyze -p <project> -T <Security/DirectInjection>

8.2. List of rulesets

Here is the list of the current rulesets supported by Exakat Engine.

Name Description
Analyze Check for common best practices.
Dead code Check the unused code or unreachable code.
CompatibilityPHP74 List features that are incompatible with PHP 7.4. It is known as php-src, work in progress.
CompatibilityPHP73 List features that are incompatible with PHP 7.3.
CompatibilityPHP72 List features that are incompatible with PHP 7.2.
CompatibilityPHP71 List features that are incompatible with PHP 7.1.
Performances Check the code for slow code.
Security Check the code for common security bad practices, especially in the Web environnement.
CompatibilityPHP70 List features that are incompatible with PHP 7.0.
CompatibilityPHP56 List features that are incompatible with PHP 5.6.
CompatibilityPHP55 List features that are incompatible with PHP 5.5.
CompatibilityPHP54 List features that are incompatible with PHP 5.4.
CompatibilityPHP53 List features that are incompatible with PHP 5.3.
Coding Conventions List coding conventions violations.

Note : in command line, don’t forget to add quotes to rulesets’ names that include white space.

8.3. Rulesets details

8.3.1. Analyze

Total : 370 analysis

8.3.4. CompatibilityPHP53

Total : 78 analysis

8.3.5. CompatibilityPHP54

Total : 74 analysis

8.3.6. CompatibilityPHP55

Total : 66 analysis

8.3.13. CompatibilityPHP80

Total : 3 analysis

8.3.18. Suggestions

Total : 86 analysis