kirancodes.me
To Proof Maintenance & Beyond!

Using dynamic analysis to generate disjunctive invariants

ThanhVu Nguyen, Deepak Kapur, Westley Weimer, Stephanie Forrest

Abstract

Program invariants are important for defect detection, program verification, and program repair. However, existing techniques have limited support for important classes of invariants such as disjunctions, which express the semantics of conditional statements. We propose a method for generating disjunctive invariants over numerical domains, which are inexpressible using classical convex polyhedra. Using dynamic analysis and reformulating the problem in non-standard ``max-plus'' and ``min-plus'' algebras, our method constructs hulls over program trace points. Critically, we introduce and infer a weak class of such invariants that balances expressive power against the computational cost of generating nonconvex shapes in high dimensions.

BibTeX
@inproceedings{Nguyen-al:ICSE14,
  author    = {ThanhVu Nguyen and
               Deepak Kapur and
               Westley Weimer and
               Stephanie Forrest},
  title     = {Using dynamic analysis to generate disjunctive invariants},
  booktitle = {ICSE},
  pages     = {608--619},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers