invariants-ernst-phdthesis

invariants-ernst-phdthesis - Dynamically Discovering Likely...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Dynamically Discovering Likely Program Invariants Michael D. Ernst A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy University of Washington 2000 Program Authorized to Offer Degree: Computer Science and Engineering University of Washington Graduate School This is to certify that I have examined this copy of a doctoral dissertation by Michael D. Ernst and have found that it is complete and satisfactory in all respects, and that any and all revisions required by the final examining committee have been made. Chairperson of the Supervisory Committee: David Notkin Reading Committee: Craig Chambers Pedro M. Domingos William G. Griswold David Notkin Date: In presenting this dissertation in partial fulfillment of the requirements for the Doctoral degree at the University of Washington, I agree that the Library shall make its copies freely available for inspection. I further agree that extensive copying of the dissertation is allowable only for scholarly purposes, consistent with fair use as prescribed in the U.S. Copyright Law. Requests for copying or reproduction of this dissertation may be referred to Bell and Howell Information and Learning, 300 North Zeeb Road, Ann Arbor, MI 48106-1346, to whom the author has granted the right to reproduce and sell (a) copies of the manuscript in microform and/or (b) printed copies of the manuscript made from microform. Signature Date University of Washington Abstract Dynamically Discovering Likely Program Invariants by Michael D. Ernst Chairperson of the Supervisory Committee: Professor David Notkin Computer Science and Engineering This dissertation introduces dynamic detection of program invariants, presents techniques for detecting such invariants from traces, assesses the techniques efficacy, and points the way for future research. Invariants are valuable in many aspects of program development, including design, cod- ing, verification, testing, optimization, and maintenance. They also enhance programmers understanding of data structures, algorithms, and program operation. Unfortunately, ex- plicit invariants are usually absent from programs, depriving programmers and automated tools of their benefits. This dissertation shows how invariants can be dynamically detected from program traces that capture variable values at program points of interest. The user runs the target program over a test suite to create the traces, and an invariant detector determines which properties and relationships hold over both explicit variables and other expressions. Properties that hold over the traces and also satisfy other tests, such as being statistically justified, not being over unrelated variables, and not being implied by other reported invariants, are reported as likely invariants. Like other dynamic techniques such as testing, the quality of the output depends in part on the comprehensiveness of the test suite. If the test suite is inadequate, then the output indicates how, permitting its improvement. Dynamic analysisinadequate, then the output indicates how, permitting its improvement....
View Full Document

Page1 / 142

invariants-ernst-phdthesis - Dynamically Discovering Likely...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online