TY - GEN
T1 - Extending model checking with dynamic analysis
AU - Groce, Alex
AU - Joshi, Rajeev
PY - 2008
Y1 - 2008
N2 - In model-driven verification a model checker executes a program by embedding it within a test harness, thus admitting program verification without the need to translate the program, which runs as native code. Model checking techniques in which code is actually executed have recently gained popularity due to their ability to handle the full semantics of actual implementation languages and to support verification of rich properties. In this paper, we show that combination with dynamic analysis can, with relatively low overhead, considerably extend the capabilities of this style of model checking. In particular, we show how to use the CIL framework to instrument code in order to allow the SPIN model checker, when verifying C programs, to check additional properties, simulate system resets, and use local coverage information to guide the model checking search. An additional benefit of our approach is that instrumentations developed for model checking may be used without modification in testing or monitoring code. We are motivated by experience in applying model-driven verification to JPL-developed flight software modules, from which we take our example applications. We believe this is the first investigation in which an independent instrumentation for dynamic analysis has been integrated with model checking.
AB - In model-driven verification a model checker executes a program by embedding it within a test harness, thus admitting program verification without the need to translate the program, which runs as native code. Model checking techniques in which code is actually executed have recently gained popularity due to their ability to handle the full semantics of actual implementation languages and to support verification of rich properties. In this paper, we show that combination with dynamic analysis can, with relatively low overhead, considerably extend the capabilities of this style of model checking. In particular, we show how to use the CIL framework to instrument code in order to allow the SPIN model checker, when verifying C programs, to check additional properties, simulate system resets, and use local coverage information to guide the model checking search. An additional benefit of our approach is that instrumentations developed for model checking may be used without modification in testing or monitoring code. We are motivated by experience in applying model-driven verification to JPL-developed flight software modules, from which we take our example applications. We believe this is the first investigation in which an independent instrumentation for dynamic analysis has been integrated with model checking.
UR - http://www.scopus.com/inward/record.url?scp=40549122654&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=40549122654&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-78163-9_15
DO - 10.1007/978-3-540-78163-9_15
M3 - Conference contribution
AN - SCOPUS:40549122654
SN - 3540781625
SN - 9783540781622
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 142
EP - 156
BT - Verification, Model Checking, and Abstract Interpretation - 9th International Conference, VMCAI 2008, Proceedings
T2 - 9th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2008
Y2 - 7 January 2008 through 9 January 2008
ER -