Performance Enhancements for a Dynamic Invariant Detector

Download: PDF.

“Performance Enhancements for a Dynamic Invariant Detector” by Chen Xiao. Masters thesis, MIT Department of Electrical Engineering and Computer Science, (Cambridge, MA), Feb. 2007.

Abstract

Dynamic invariant detection is the identification of the likely properties about a program based on observed variable values during program execution. While other dynamic invariant detectors use a brute force algorithm, Daikon adds powerful optimizations to provide more scalable invariant detection without sacrificing the richness of the reported invariants. Daikon improves scalability by eliminating redundant invariants. For example, the suppression optimization allows Daikon to delay the creation of invariants that are logically implied by other true invariants. Although conceptually simple, the implementation of this optimization in Daikon has a large fixed cost and scales polynomially with the number of program variables.

I investigated performance problems in two implementations of the suppression optimization in Daikon and evaluated several methods for improving the algorithm for the suppression optimization: optimizing existing algorithms, using a hybrid, context-sensitive approach to maximize the effectiveness of the two algorithms, and batching applications of the algorithm to lower costs. Experimental results showed a 10% runtime improvement in Daikon runtime. In addition, I implemented an oracle to verify the implementation of these improvements and the other optimizations in Daikon.

Download: PDF.

BibTeX entry:

@mastersthesis{Xiao2007,
   author = {Chen Xiao},
   title = {Performance Enhancements for a Dynamic Invariant Detector},
   school = {MIT Department of Electrical Engineering and Computer Science},
   address = {Cambridge, MA},
   month = feb,
   year = {2007}
}

Back to Publications that describe invariant detection techniques in Daikon.