Title
How Verified is My Code? Falsification-Driven Verification (T)
Abstract
Formal verification has advanced to the point that developers can verify the correctness of small, critical modules. Unfortunately, despite considerable efforts, determining if a \"verification\" verifies what the author intends is still difficult. Previous approaches are difficult to understand and often limited in applicability. Developers need verification coverage in terms of the software they are verifying, not model checking diagnostics. We propose a methodology to allow developers to determine (and correct) what it is that they have verified, and tools to support that methodology. Our basic approach is based on a novel variation of mutation analysis and the idea of verification driven by falsification. We use the CBMC model checker to show that this approach is applicable not only to simple data structures and sorting routines, and verification of a routine in Mozilla's JavaScript engine, but to understanding an ongoing effort to verify the Linux kernel Read-Copy-Update (RCU) mechanism.
Year
DOI
Venue
2015
10.1109/ASE.2015.40
Automated Software Engineering
Keywords
Field
DocType
model checking,verification,mutation,oracles,falsification,test harnesses
Verification and validation of computer simulation models,Functional verification,Programming language,Computer science,Intelligent verification,Verification,Theoretical computer science,Runtime verification,High-level verification,Software verification,Formal verification
Conference
ISSN
Citations 
PageRank 
1527-1366
5
0.40
References 
Authors
24
4
Name
Order
Citations
PageRank
Alex Groce1128973.53
Iftekhar Ahmed2896.43
Carlos Jensen333326.67
Paul E. McKenney427930.11