kirancodes.me
To Proof Maintenance & Beyond!

Lightweight extraction of syntactic specifications

Mana Taghdiri, Robert Seater, Daniel Jackson

Abstract

A method for extracting syntactic specifications from heapmanipulating code is described. The state of the heap is represented as an environment mapping each variable or field to a relational expression. A procedure is executed symbolically, obtaining an environment for the post-state that gives the value of each variable and field in terms of the values of variables and fields of the pre-state. Approximation is introduced by forming relational unions at merge points in the control flow graph, and by widening union-of-join expressions to transitive closures. The resulting analysis is linear in the length of the code and the number of fields, but capable of producing non-trivial specifications of surprising accuracy.

BibTeX
@inproceedings{Taghdiri-al:FSE06,
  author    = {Mana Taghdiri and
               Robert Seater and
               Daniel Jackson},
  title     = {Lightweight extraction of syntactic specifications},
  booktitle = {FSE},
  pages     = {276--286},
  publisher = {{ACM}},
  year      = {2006},
}

Related papers