Configurations are set in a configuration file named .coderrect.json. This configuration file should be placed in the directory where Coderrect is called.
Each configuration setting can only appear once in a configuration file, for example, you can NOT have multiple skipFunctions sections in a configuration file.
Config Coderrect to skip specified functions during race analysis.
"skipFunctions":[ "FunctionName*", "FunctionOther" ]
Check out a tutorial uses this configuration here
Config Coderrect to analyze all possible targets called in specified functions.
"indirectFunctions":[ "FunctionName*", "FunctionOther" ]
Config Coderrect to skip analysis specified functions.
"ignoreRacesInFunctions":[ "std::*" "FunctionName*", "FunctionName2" ]
This configuration by default is set to skip all functions matching std::*.
Config Coderrect to skip analysis on specified locations, i.e. filename and line numbers.
"ignoreRacesAtLocations": [ "items.c:1277", "extstore.c:493" ],
Config Coderrect to skip analysis on specified variables.
"ignoreRaceVariables":[ "VariableName*", "VariableOtherName" ]
Races detected in specified files are set to a lower priority in the report, and shown lower in the report.
"lowPriorityFiles":[ "FileName*", "FileNameOther" ]
Races detected in specified files are set to a higher priority in the report, and shown lower in the report.
"highPriorityFiles":[ "FileName*", "FunctionNameOther" ]
Races detected in specified variables are set to a lower priority in the report, and shown lower in the report.
"lowPriorityRaces":[ "VariableName*", "VariableNameOther" ]
Races detected in specified variables are set to a higher priority in the report, and shown lower in the report.
"highPriorityRaces":[ "VariableName*", "VariableNameOther" ]
Specify functions to be treated as allocating memory.
"heapAllocFunctions":[ "je_malloc", "je_calloc", "je_mallocx", "rm_malloc", "rm_calloc" ]
The setting show in the above example is the default setting.
Specify entry points for libraries without a main function.
"openlib": { "entryPoints":[ "FunctionName*", "FunctionNameOther" ] }
Specify a list of custom lock/unlock APIs so that Coderrect can make corrrect reasoning.
"lockUnlockFunctions": { "MySpinLock": "MySpinUnlock", "MyMutexLock": "MyMutexUnlock" }
You can find the default global configuration file “coderrect.json” under $installDir/conf.
{ "logger": { "level": "debug", "logFolder": "logs", "maximumLogFileCount": 8, "maximumLogFileSize": 128, "toStderr": false }, "report": { "enableTerminal": false, "//ouputDir": "please remove // and set the right path here" }, "cleanBuild": false, "analyzeAllBinaries": false, "continueIfBuildErrorPresents": false, "//bcPaths": "Remove // and specify a list of comma-separated paths", "//analyzeBinaries": "Remove // and specify a list of comma-separated binary names", "publishResults": false, "mode": "normal", "enableOpenMP": true, "enableOrderViolation": true, "enableAtomicityViolation": true, "enableMissingAPI": true, "enableFilter": true, "enableLockSet": true, "enableLoopUnroll": true, "raceLimit": 25, "skipFunctions": [], "indirectFunctions": [], "ignoreRacesInFunctions": [ "std::*" ], "ignoreRacesAtLocations": [], "ignoreRaceVariables": [], "lowPriorityFiles": [], "lowPriorityRaces": [], "highPriorityRaces": [], "heapAllocFunctions": [ "je_malloc", "je_calloc", "je_mallocx", "rm_malloc", "rm_calloc" ], "lockUnlockFunctions": {}, "notParallelFunctionPairs": {} "highPriorityFiles": [], "lowPriorityFiles": [], "highPriorityRaces": [], "lowPriorityRaces": [], "openlib": { "entryPoints": [], "limit": 999, } }
Powered by BetterDocs