Skip to content

Autotuner only enables relational analysis for at most 2 globals #1832

@sim642

Description

@sim642

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

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    precisionrelationalRelational analyses (Apron, affeq, lin2var)sv-compSV-COMP (analyses, results), witnesses

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions