p339-gabel

p339-gabel - Javert: Fully Automatic Mining of General...

Info iconThis preview shows pages 1–2. 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
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Javert: Fully Automatic Mining of General Temporal Properties from Dynamic Traces Mark Gabel Zhendong Su Department of Computer Science University of California, Davis {mggabel,su}@ucdavis.edu ABSTRACT Program specifications are important for many tasks during soft- ware design, development, and maintenance. Among these, tem- poral specifications are particularly useful. They express formal correctness requirements of an applications ordering of specific ac- tions and events during execution, such as the strict alternation of acquisition and release of locks. Despite their importance, tempo- ral specifications are often missing, incomplete, or described only informally. Many techniques have been proposed that mine such specifications from execution traces or program source code. How- ever, existing techniques mine only simple patterns, or they mine a single complex pattern that is restricted to a particular set of manu- ally selected events. There is no practical, automatic technique that can mine general temporal properties from execution traces. In this paper, we present Javert, the first general specification min- ing framework that can learn, fully automatically, complex tem- poral properties from execution traces. The key insight behind Javert is that real, complex specifications can be formed by com- posing instances of small generic patterns, such as the alternating pattern ( ( ab ) ) and the resource usage pattern ( ( ab c ) ). In par- ticular, Javert learns simple generic patterns and composes them using sound rules to construct large, complex specifications. We have implemented the algorithm in a practical tool and conducted an extensive empirical evaluation on several open source software projects. Our results are promising; they show that Javert is scal- able, general, and precise. It discovered many interesting, non- trivial specifications in real-world code that are beyond the reach of existing automatic techniques. Categories and Subject Descriptors D.2.7 [ Software Engineering ]: Distribution, Maintenance, and Enhancement Restructuring, reverse engineering, and reengin- This research was supported in part by NSF CAREER Grant No. 0546844, NSF CyberTrust Grant No. 0627749, NSF CCF Grant No. 0702622, US Air Force under grant FA9550-07-1-0532, and a generous gift from Intel. The information presented here does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee....
View Full Document

This note was uploaded on 12/27/2011 for the course CMPSC 290a taught by Professor Vandam during the Fall '09 term at UCSB.

Page1 / 11

p339-gabel - Javert: Fully Automatic Mining of General...

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

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