DocumentCode
2443251
Title
Leveraging test generation and specification mining for automated bug detection without false positives
Author
Pradel, Michael ; Gross, Thomas R.
Author_Institution
Dept. of Comput. Sci., ETH Zurich, Zurich, Switzerland
fYear
2012
fDate
2-9 June 2012
Firstpage
288
Lastpage
298
Abstract
Mining specifications and using them for bug detection is a promising way to reveal bugs in programs. Existing approaches suffer from two problems. First, dynamic specification miners require input that drives a program to generate common usage patterns. Second, existing approaches report false positives, that is, spurious warnings that mislead developers and reduce the practicability of the approach. We present a novel technique for dynamically mining and checking specifications without relying on existing input to drive a program and without reporting false positives. Our technique leverages automatically generated tests in two ways: Passing tests drive the program during specification mining, and failing test executions are checked against the mined specifications. The output are warnings that show with concrete test cases how the program violates commonly accepted specifications. Our implementation reports no false positives and 54 true positives in ten well-tested Java programs.
Keywords
Java; data mining; formal specification; formal verification; program debugging; program testing; Java program; automated bug detection; checking specification; dynamic specification miner; false positives; leveraging test generation; specification mining; usage pattern; Computer bugs; Concrete; Generators; Protocols; Receivers; Runtime; Bug detection; False positives; Specification mining;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location
Zurich
ISSN
0270-5257
Print_ISBN
978-1-4673-1066-6
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1109/ICSE.2012.6227185
Filename
6227185
Link To Document