Hostname: page-component-cd9895bd7-p9bg8 Total loading time: 0 Render date: 2024-12-28T15:25:47.540Z Has data issue: false hasContentIssue false

Constraint-based deadlock checking of high-level specifications

Published online by Cambridge University Press:  06 July 2011

STEFAN HALLERSTEDE
Affiliation:
Institut für Informatik, Universität Düsseldorf, Universitätsstr. 1, D-40225 Düsseldorf, Germany (e-mail: halstefa@cs.uni-duesseldorf.de, leuschel@cs.uni-duesseldorf.de)
MICHAEL LEUSCHEL
Affiliation:
Institut für Informatik, Universität Düsseldorf, Universitätsstr. 1, D-40225 Düsseldorf, Germany (e-mail: halstefa@cs.uni-duesseldorf.de, leuschel@cs.uni-duesseldorf.de)

Abstract

Establishing the absence of deadlocks is important in many applications of formal methods. The use of model checking for finding deadlocks in formal models is often limited. In this paper, we propose a constraint-based approach to finding deadlocks employing the ProB constraint solver. We present the general technique, as well as various improvements that had to be performed on ProB's Prolog kernel, such as reification of membership and arithmetic constraints. This work was guided by an industrial case study, where a team from Bosch was modelling a cruise control system. Within this case study, ProB was able to quickly find counterexamples to very large deadlock-freedom constraints. In the paper, we also present other successful applications of this new technique. Experiments using SAT and SMT solvers on these constraints were thus far unsuccessful.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abrial, J.-R. 1996. The B-Book: Assigning Programs to Meanings. Cambridge University Press.CrossRefGoogle Scholar
Abrial, J.-R. 2010. Modeling in Event-B: System and Software Engineering. Cambridge University Press.CrossRefGoogle Scholar
Abrial, J.-R., Butler, M. J., Hallerstede, S., Hoang, T. S., Mehta, F. and Voisin, L. 2010. Rodin: An open toolset for modelling and reasoning in Event-B. International Journal on Software Tools for Technology Transfer 12 (6), 447466.CrossRefGoogle Scholar
Aït-Sadoune, I. and Ameur, Y. A. 2009. A proof based approach for modelling and verifying web services compositions. In Proc. of International Conference on Engineering of Complex Computer Systems (ICECCS). IEEE Computer Society, 110.Google Scholar
Bendisposto, J. and Leuschel, M. 2009. Proof assisted model checking for B. In Proc. of International Conference on Formal Engineering Methods: Formal Methods and Software Engineering (ICFEM '09), K. Breitman and A. Cavalcanti, Eds. Lecture Notes in Computer Science, vol. 5885. Springer, Berlin, 504520.Google Scholar
Carlsson, M. and Ottosson, G. 1997. An open-ended finite domain constraint solver. In Proc. of International Symposium on Programming Languages: Implementations, Logics, and Programs (PLILP '97), Glaser, H. G., Hartel, P. H. and Kuchen, H., Eds. Lecture Notes in Computer Science, vol. 1292. Springer, Berlin, 191206.CrossRefGoogle Scholar
Déharbe, D. 2010. Automatic verification for a class of proof obligations with SMT-solvers. In Proc. of Abstract State Machine (ASM '10), 217–230.Google Scholar
Dillon, L. K., Stirewalt, R. E. K., Sarna-starosta, B. and Fleming, S. D. 2006. Developing an alloy framework akin to OO frameworks. In Proc. of First Alloy Workshop. URL: http://alloy.mit.edu/workshop/papers.htmlGoogle Scholar
Dovier, A., Piazza, C., Pontelli, E. and Rossi, G. 2000. Sets and constraint logic programming. ACM Transactions on Programming Languages and Systems 22 (5), 861931.CrossRefGoogle Scholar
Eén, N. and Sörensson, N. 2003. An extensible sat-solver. In Proc. of Theory and Applications of Satisfiability Testing (SAT '03), Giunchiglia, E. and Tacchella, A., Eds. Lecture Notes in Computer Science, vol. 2919. Springer, Berlin, 502518.Google Scholar
Frisch, A. M. and Stuckey, P. J. 2009. The proper treatment of undefinedness in constraint languages. In Proc. of International Conference on Principles and Practice of Constraint Programming (CP '09), Gent, I. P., Ed. Lecture Notes in Computer Science, vol. 5732. Springer, Berlin, 367382.Google Scholar
Howe, J. M. and King, A. 2010. A Pearl on SAT solving in Prolog. In Proceedings International Symposium on Functional and Logic Programming (FLOPS '10), Blume, M., Kobayashi, N. and Vidal, G., Eds. Lecture Notes in Computer Science, vol. 6009. Springer, Berlin, 165174.CrossRefGoogle Scholar
Jackson, D. 2002. Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology 11, 256290.CrossRefGoogle Scholar
Legeard, B., Peureux, F. and Utting, M. 2002. Automated boundary testing from Z and B. In Proceedings International Symposium of Formal Methods Europe on Formal Methods—Getting IT Right (FME '02), Eriksson, L.-H. and Lindsay, P., Eds. Lecture Notes in Computer Science, vol. 2391. Springer, Berlin, 2140.Google Scholar
Leuschel, M. and Butler, M. J. 2008. ProB: An automated analysis toolset for the B method. International Journal on Software Tools for Technology Transfer 10 (2), 185203.CrossRefGoogle Scholar
Leuschel, M., Falampin, J., Fritz, F. and Plagge, D. 2009. Automated property verification for large scale B models. In Proc. of World Congress on Formal Methods (FM '09), Cavalcanti, A. and Dams, D., Eds. Lecture Notes in Computer Science, vol. 5850. Springer, Berlin, 708723.Google Scholar
Loesch, F., Gmehlich, R., Grau, K., Mazzara, M. and Jones, C. 2010. DEPLOY Deliverable D19, D1.1 Pilot Deployment in the Automotive Sector (WP1).Google Scholar
Paulson, L. C. 1994. Isabelle: A Generic Theorem Prover. Lecture Notes in Computer Science, vol. 828. Springer, Berlin.CrossRefGoogle Scholar
Roscoe, A. W. 1999. The Theory and Practice of Concurrency. Prentice-Hall.Google Scholar
Torlak, E. and Jackson, D. 2007. Kodkod: A relational model finder. In Proc. of International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS '07), Grumberg, O. and Huth, M., Eds. Lecture Notes in Computer Science, vol. 4424. Springer, Berlin, 632647.Google Scholar
Yu, Y., Manolios, P. and Lamport, L. 1999. Model checking TLA+ specifications. In Proceedings IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME '99), Pierre, L. and Kropf, T., Eds. Lecture Notes in Computer Science, vol. 1703. Springer, Berlin, 5466.CrossRefGoogle Scholar