Constraint-based analysis
Key techniques:
- postulate a linear template invariant
- formulate standard condition for inductive invariant over templates
- eliminate implication using Farkas lemma
- remove existential quantifiers using quantifier elimination for real fields
Quantifier elimination does not scale in general. Some improvements:
- parameteric linear assertion - special structure of the system
- local and increasing consecution as approximations of exact strongest post (instantiate \mu multiplier with 0 or 1)
- constraint simplification by substitution (rewriting)
- factorization: transforms parameterized linear condition into a product, which becomes disjunction
- additional lemmas
Counterexample-driven analysis
Loop invariants in demand
- Paper: Loop invariants on demand
Counterexample Driven Refinement for Abstract Interpretation
Key points:
- abstract interepretation
- automated refinement of domain
- compare to ASTREE (also some parameters, e.g. packing)
- refinement of when to widen and merge
- how to check if counterexample is real
- widening on abstract
- non-monotonicity of widening
- experimental evaluation with proving given invariants