Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
11-2010
Abstract
Model checkers, like any complex software, are subject to bugs. Unlike ordinary software, model checkers are often used to verify safety critical systems. Their correctness is thus vital. Verifying model checkers is extremely challenging because they are always complicated in logic and highly optimized. In this work, we propose a code contract combined approach for checking model checkers and apply it to a home-grown model checker PAT. In this approach, we firstly embed programming contracts (i.e., pre/post-conditions and invariants) into its source code, which can capture correctness of model checking algorithms, underlying data structures, consistency between different model checking parameters, etc. Then, interface models of complicated data structures and graphical user interfaces (GUI) are built and model checked. By linking the interface models with actual source codes and exhausting all execution sequences of interface models using PAT, we model check PAT using itself! Our experience shows that the approach is effective in identifying common bugs or subtle flaws that result from extremely improbable events.
Keywords
Model Check, Graphical User Interface, Interface Model, Liveness Property, Model Check Algorithm
Discipline
Programming Languages and Compilers | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of the 12th International Conference on Formal Engineering Methods, ICFEM 2010, Shanghai, China, November 17-19
First Page
518
Last Page
533
ISBN
9783642169007
Identifier
10.1007/978-3-642-16901-4_34
Publisher
Springer Link
City or Country
Shanghai, China
Citation
SUN, Jun; LIU, Yang; and CHENG, Bin.
Model checking a model checker: A code contract combined approach. (2010). Proceedings of the 12th International Conference on Formal Engineering Methods, ICFEM 2010, Shanghai, China, November 17-19. 518-533.
Available at: https://ink.library.smu.edu.sg/sis_research/5036
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/978-3-642-16901-4_34