Skip to main content
Version: Next

Detectors Overview

Built-in Detectors

#DetectorSeverityRequires SouffléEnabled by default
1ArgCopyMutationHigh
2AsmIsUsedInfo
3BranchDuplicateHigh
4CellBoundsCritical
5ConstantAddressInfo
6DivideBeforeMultiplyHigh
7DumpIsUsedInfo
8DuplicatedConditionHigh
9EnsurePrgSeedMedium
10EtaLikeSimplificationsLow
11ExitCodeUsageHigh
12FalseConditionMedium
13FieldDoubleInitMedium
14InheritedStateMutationLow
15NeverAccessedVariablesMedium
16OptimalMathFunctionLow
17PreferAugmentedAssignInfo
18PreferredStdlibApiInfo
19ReadOnlyVariablesMedium
20SendInLoopMedium
21ShortCircuitConditionLow
22StringReceiversOverlapHigh
23SuspiciousMessageModeMedium
24UnboundLoopHigh
25UnboundMapLow
26UnusedExpressionResultMedium
27UnusedOptionalLow
28ZeroAddressLow

Some of the detectors require Soufflé to be installed. If no Soufflé installation is found, these detectors won't be executed.

A few detectors are optional and aimed at auditors to help uncover subtle issues in the source code. To enable all detectors, use the --all-detectors option. You can find a full list of configuration options on the configuration page.

Each detector targets a specific type of problem in your code. Click on the detector name to learn more.