Inference and enforcement of data structure consistency specifications

Download: PDF, PostScript.

“Inference and enforcement of data structure consistency specifications” by Brian Demsky, Michael D. Ernst, Philip J. Guo, Stephen McCamant, Jeff H. Perkins, and Martin Rinard. In ISSTA 2006, Proceedings of the 2006 International Symposium on Software Testing and Analysis, (Portland, ME, USA), July 18-20, 2006, pp. 233-243.
A previous version appeared as “Learning and repair techniques for self-healing systems” by Martin Rinard and Michael Ernst, Air Force Research Laboratory. Information Directorate technical report AFRL-IF-RS-TR-2006-157, (Rome, NY, USA), May 2006.


Corrupt data structures are an important cause of unacceptable program execution. Data structure repair (which eliminates inconsistencies by updating corrupt data structures to conform to consistency constraints) promises to enable many programs to continue to execute acceptably in the face of otherwise fatal data structure corruption errors. A key issue is obtaining an accurate and comprehensive data structure consistency specification.

We present a new technique for obtaining data structure consistency specifications for data structure repair. Instead of requiring the developer to manually generate such specifications, our approach automatically generates candidate data structure consistency properties using the Daikon invariant detection tool. The developer then reviews these properties, potentially rejecting or generalizing overly specific properties to obtain a specification suitable for automatic enforcement via data structure repair.

We have implemented this approach and applied it to three sizable benchmark programs: CTAS (an air-traffic control system), BIND (a widely-used Internet name server) and Freeciv (an interactive game). Our results indicate that (1) automatic constraint generation produces constraints that enable programs to execute successfully through data structure consistency errors, (2) compared to manual specification, automatic generation can produce more comprehensive sets of constraints that cover a larger range of data structure consistency properties, and (3) reviewing the properties is relatively straightforward and requires substantially less programmer effort than manual generation, primarily because it reduces the need to examine the program text to understand its operation and extract the relevant consistency constraints. Moreover, when evaluated by a hostile third party “Red Team” contracted to evaluate the effectiveness of the technique, our data structure inference and enforcement tools successfully prevented several otherwise fatal attacks.

Download: PDF, PostScript.

BibTeX entry:

   author = {Brian Demsky and Michael D. Ernst and Philip J. Guo and
	Stephen McCamant and Jeff H. Perkins and Martin Rinard},
   title = {Inference and enforcement of data structure consistency
   booktitle = {ISSTA 2006, Proceedings of the 2006 International
	Symposium on Software Testing and Analysis},
   pages = {233--243},
   address = {Portland, ME, USA},
   month = {July~18--20,},
   year = {2006}

(This webpage was created with bibtex2web.)

Back to Program Analysis Group publications.