Specification Mining and Testing
(SPECMATE)
Start date: Jan 1, 2012,
End date: Dec 31, 2016
PROJECT
FINISHED
"In the past decade, automated validation of software systems has made spectacular progresses. On the testing side, it is now possible to automatically generate test cases that effectively explore the entire program structure; on the verification side, we can now formally prove properties for software as complex as operating systems. To push validation further, however, we need specifications of what the software actually should do. But writing such specifications has always been hard—and so far significantly inhibited the deployment of rigorous development methods.The SPECMATE methodology automatically extracts such specifications from existing systems, effectively leveraging the knowledge encoded into billions of code lines. SPECMATE starts with just an executable program and automatically produces an incremental specification, starting with the most relevant properties; and a set of test cases fully covering the specification. Such specifications are ideal starting points for compositional modeling and verification, enabling the rigorous construction and derivation of new, safe, dependable software systems; they also widely automate development activities such as testing, defect detection, and program maintenance.To achieve these goals, SPECMATE employs a combination of specification mining (extracting specifications from executions), test case generation (generating additional runs to explore execution space) and mutation analysis (seeding synthetic defects to assess test quality). The proposed techniques all scale to industrial-sized programs; all we need is the ability to execute individual functions."
Get Access to the 1st Network for European Cooperation
Log In