Conditional model checking: A technique to pass information between verifiers

D. Beyer, T.A. Henzinger, M. Keremoglu, P. Wendler, in:, Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, ACM, 2012.


Conference Paper | Published | English
Author
; ; ;
Department
Abstract
Software model checking, as an undecidable problem, has three possible outcomes: (1) the program satisfies the specification, (2) the program does not satisfy the specification, and (3) the model checker fails. The third outcome usually manifests itself in a space-out, time-out, or one component of the verification tool giving up; in all of these failing cases, significant computation is performed by the verification tool before the failure, but no result is reported. We propose to reformulate the model-checking problem as follows, in order to have the verification tool report a summary of the performed work even in case of failure: given a program and a specification, the model checker returns a condition Ψ - usually a state predicate - such that the program satisfies the specification under the condition Ψ - that is, as long as the program does not leave the states in which Ψ is satisfied. In our experiments, we investigated as one major application of conditional model checking the sequential combination of model checkers with information passing. We give the condition that one model checker produces, as input to a second conditional model checker, such that the verification problem for the second is restricted to the part of the state space that is not covered by the condition, i.e., the second model checker works on the problems that the first model checker could not solve. Our experiments demonstrate that repeated application of conditional model checkers, passing information from one model checker to the next, can significantly improve the verification results and performance, i.e., we can now verify programs that we could not verify before.
Publishing Year
Date Published
2012-11-01
Proceedings Title
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Acknowledgement
This research was supported by the Canadian NSERC grant RGPIN 341819-07, the ERC Advanced Grant QUAREM, and the Austrian Science Fund NFN RiSE.
Article Number
57
Conference
FSE: Foundations of Software Engineering
Conference Location
Cary, NC, USA
Conference Date
2012-11-11 – 2012-11-16
IST-REx-ID

Cite this

Beyer D, Henzinger TA, Keremoglu M, Wendler P. Conditional model checking: A technique to pass information between verifiers. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM; 2012. doi:10.1145/2393596.2393664
Beyer, D., Henzinger, T. A., Keremoglu, M., & Wendler, P. (2012). Conditional model checking: A technique to pass information between verifiers. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. Cary, NC, USA: ACM. https://doi.org/10.1145/2393596.2393664
Beyer, Dirk, Thomas A Henzinger, Mehmet Keremoglu, and Philipp Wendler. “Conditional Model Checking: A Technique to Pass Information between Verifiers.” In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM, 2012. https://doi.org/10.1145/2393596.2393664.
D. Beyer, T. A. Henzinger, M. Keremoglu, and P. Wendler, “Conditional model checking: A technique to pass information between verifiers,” in Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, Cary, NC, USA, 2012.
Beyer D, Henzinger TA, Keremoglu M, Wendler P. 2012. Conditional model checking: A technique to pass information between verifiers. Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. FSE: Foundations of Software Engineering
Beyer, Dirk, et al. “Conditional Model Checking: A Technique to Pass Information between Verifiers.” Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, 57, ACM, 2012, doi:10.1145/2393596.2393664.

Link(s) to Main File(s)
Access Level
OA Open Access

Export

Marked Publications

Open Data IST Research Explorer

Search this title in

Google Scholar