While checking #1821 (comment), I found out the following surprising thing: the autotuner only enables relational analysis for at most 2 globals:
|
in let globals = 2 in |
|
let selectedLocals = |
|
let list = ref [] in |
|
let visitor = new octagonFunctionVisitor(list, locals) in |
|
visitCilFileSameGlobals visitor file; |
|
List.concat !list |
|
in |
|
let selectedGlobals = |
|
let varMap = ref VariableMap.empty in |
|
let visitor = new octagonVariableVisitor(varMap, true) in |
|
visitCilFileSameGlobals visitor file; |
|
topVars globals !varMap |
|
in |
We should really look into this because we could be shooting ourselves in the foot with such a low limit. SV-COMP benchmarks often use global variables for no good reason (over locals) because code quality doesn't matter.
This also makes relational Mutex-Meet mostly useless.
While checking #1821 (comment), I found out the following surprising thing: the autotuner only enables relational analysis for at most 2 globals:
analyzer/src/autoTune.ml
Lines 435 to 447 in 5290131
We should really look into this because we could be shooting ourselves in the foot with such a low limit. SV-COMP benchmarks often use global variables for no good reason (over locals) because code quality doesn't matter.
This also makes relational Mutex-Meet mostly useless.