This thesis describes the generation and use of program invariants to improve software reliability. It introduces PRECIS, a technique for automatic invariant generation based on program path guided clustering. The invariantsgenerated by PRECIS can be directly used by programmers for regression testing and improved code documentation. The generated invariants can also be used as part of hardware error detectors, by checking variables key to program output. PREAMBL, a bug localization technique, is introduced as away of providing increased utility to the generated invariants in diagnosing post-release bugs.The benefi ts of these uses of the generated invariants are shown through experiments. The high control-flow coverage of generated invariants is demonstrated for the Siemens benchmark suite, and higher quality is indicated when compared with Daikon, a prior technique. Fault injection experiments show high error detection coverage for several types of manifested errors. Results for PREAMBL show higher scoring for localized paths than previous approaches.
【 预 览 】
附件列表
Files
Size
Format
View
Improved software verification through program path-based analysis