Hostname: page-component-76fb5796d-wq484 Total loading time: 0 Render date: 2024-04-25T23:36:21.636Z Has data issue: false hasContentIssue false

Generalization strategies for the verification of infinite state systems

Published online by Cambridge University Press:  25 January 2012

FABIO FIORAVANTI
Affiliation:
Dipartimento di Scienze, Università ‘G. D'Annunzio’, Viale Pindaro 42, I-65127 Pescara, Italy (e-mail: fioravanti@sci.unich.it)
ALBERTO PETTOROSSI
Affiliation:
Dipartimento di Informatica, Sistemi e Produzione, Università di Roma Tor Vergata, Via del Politecnico 1, I-00133 Roma, Italy (e-mail: pettorossi@disp.uniroma2.it)
MAURIZIO PROIETTI
Affiliation:
CNR-IASI, Viale Manzoni 30, I-00185 Roma, Italy (e-mail: maurizio.proietti@iasi.cnr.it)
VALERIO SENNI
Affiliation:
LORIA-INRIA, 615, rue du Jardin Botanique BP 101, 54602 Villers-les-Nancy Cedex, France, & Dipartimento di Informatica, Sistemi e Produzione, Università di Roma Tor Vergata, Via del Politecnico 1, I-00133 Roma, Italy (e-mail: valerio.senni@loria.fr, senni@disp.uniroma2.it)

Abstract

We present a method for the automated verification of temporal properties of infinite state systems. Our verification method is based on the specialization of constraint logic programs (CLP) and works in two phases: (1) in the first phase, a CLP specification of an infinite state system is specialized with respect to the initial state of the system and the temporal property to be verified, and (2) in the second phase, the specialized program is evaluated by using a bottom-up strategy. The effectiveness of the method strongly depends on the generalization strategy which is applied during the program specialization phase. We consider several generalization strategies obtained by combining techniques already known in the field of program analysis and program transformation, and we also introduce some new strategies. Then, through many verification experiments, we evaluate the effectiveness of the generalization strategies we have considered. Finally, we compare the implementation of our specialization-based verification method to other constraint-based model checking tools. The experimental results show that our method is competitive with the methods used by those other tools.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2012

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

Abdulla, P. A., Delzanno, G., Henda, N. B. and Rezine, A. 2009. Monotonic abstraction (On efficient verification of parameterized systems). International Journal of Foundations of Computer Science 20, 5, 779801.CrossRefGoogle Scholar
Apt, K. R. and Bol, R. N. 1994. Logic programming and negation: A survey. Journal of Logic Programming 19, 20, 971.CrossRefGoogle Scholar
Banda, G. and Gallagher, J. P. 2010. Constraint-based abstract semantics for temporal logic: A direct approach to design and implementation. In Proc. of LPAR 2010. LNAI, vol. 6355. Springer, Berlin, 2745.Google Scholar
Bardin, S., Finkel, A., Leroux, J. and Petrucci, L. 2008. FAST: Acceleration from theory to practice. International Journal on Software Tools for Technology Transfer 10, 5, 401424.Google Scholar
Bultan, T. 2000. BDD vs constraint-based model checking: An experimental evaluation for asynchronous concurrent systems. In Proc. of TACAS '00. LNCS, vol. 1785. Springer, Berlin, 441455.Google Scholar
Bultan, T., Gerber, R. and Pugh, W. 1999. Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results. ACM TOPLAS 21, 4, 747789.CrossRefGoogle Scholar
Clarke, E. M., Grumberg, O. and Long, D. E. 1994. Model checking and abstraction. ACM TOPLAS 16, 5, 15121542.Google Scholar
Clarke, E. M., Grumberg, O. and Peled, D. 1999. Model Checking. MIT Press, Cambridge, MA.Google Scholar
Cousot, P. and Halbwachs, N. 1978. Automatic discovery of linear restraints among variables of a program. In Proc. of POPL'78. ACM Press, New York, 8496.Google Scholar
Cui, B. and Warren, D. S. 2000. A system for tabled constraint logic programming. In Proc. of Computational Logic 2000. LNAI, vol. 1861. Springer, Berlin, 478492.CrossRefGoogle Scholar
Dams, D., Grumberg, O. and Gerth, R. 1997. Abstract interpretation of reactive systems. ACM TOPLAS 19, 2, 253291.Google Scholar
Delzanno, G. 2003. Constraint-based verification of parameterized cache coherence protocols. Formal Methods in System Design 23, 3, 257301.Google Scholar
Delzanno, G., Esparza, J. and Podelski, A. 1999. Constraint-based analysis of broadcast protocols. In Proc. of CSL '99. LNCS, vol. 1683. Springer, Berlin, 5066.Google Scholar
Delzanno, G. and Podelski, A. 2001. Constraint-based deductive model checking. International Journal on Software Tools for Technology Transfer 3, 3, 250270.Google Scholar
Esparza, J. 1997. Decidability of model checking for infinite-state concurrent systems. Acta Informatica 34, 2, 85107.Google Scholar
Etalle, S. and Gabbrielli, M. 1996. Transformations of CLP modules. Theoretical Computer Science 166, 101146.CrossRefGoogle Scholar
Fioravanti, F., Pettorossi, A. and Proietti, M. 2001. Verifying CTL properties of infinite state systems by specializing constraint logic programs. In Proc. of VCL'01. Technical Report DSSE-TR-2001-3. University of Southampton, Southampton, UK, 8596.Google Scholar
Fioravanti, F., Pettorossi, A. and Proietti, M. 2007. Verifying infinite state systems by specializing constraint logic programs. R. 657, IASI-CNR, Roma, Italy.Google Scholar
Fioravanti, F., Pettorossi, A., Proietti, M. and Senni, V. 2011. Program specialization for verifying infinite state systems: An experimental evaluation. In Proc. of LOPSTR 2010. LNCS, vol. 6564. Springer, Berlin, 164183.Google Scholar
Fribourg, L. 2000. Constraint logic programming applied to model checking. In Proc. of LOPSTR '99. LNCS, vol. 1817. Springer, Berlin, 3142.Google Scholar
Fribourg, L. and Olsén, H. 1997. Proving safety properties of infinite state systems by compilation into Presburger arithmetic. In Proc. of CONCUR '97. LNCS, vol. 1243. Springer, Berlin, 96107.Google Scholar
Geeraerts, G., Raskin, J.-F. and VanBegin, L. Begin, L. 2006. Expand, enlarge and check: New algorithms for the coverability problem of WSTS. Journal of Computer and System Sciences 72, 1, 180203.Google Scholar
Godefroid, P., Huth, M. and Jagadeesan, R. 2001. Abstraction-based model checking using modal transition systems. In Proc. of CONCUR '01. LNCS, vol. 2154. Springer, 426440.Google Scholar
Henzinger, T. A., Ho, P.-H. and Wong-Toi, H. 1997. HYTECH: A model checker for hybrid systems. International Journal on Software Tools for Technology Transfer 1, 1–2, 110122.Google Scholar
Jaffar, J. and Maher, M. 1994. Constraint logic programming: A survey. Journal of Logic Programming 19/20, 503581.Google Scholar
Jones, N. D., Gomard, C. K. and Sestoft, P. 1993. Partial Evaluation and Automatic Program Generation. Prentice Hall, Englewood Cliffs, NJ.Google Scholar
Lesens, D. and Saïdi, H. 1997. Abstraction of parameterized networks. Electronic Notes of Theoretical Computer Science 9, 41.Google Scholar
Leuschel, M. 2002. Homeomorphic embedding for online termination of symbolic methods. In The Essence of Computation. LNCS, vol. 2566. Springer, Berlin, 379403.CrossRefGoogle Scholar
Leuschel, M. and Bruynooghe, M. 2002. Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming 2, 4&5, 461515.CrossRefGoogle Scholar
Leuschel, M. and Lehmann, H. 2000. Coverability of reset Petri nets and other well-structured transition systems by partial deduction. In Proc. of Computational Logic 2000. LNAI, vol. 1861. Springer, Berlin, 101115.Google Scholar
Leuschel, M., Martens, B. and De Schreye, D. 1998. Controlling generalization and polyvariance in partial deduction of normal logic programs. ACM TOPLAS 20, 1, 208258.CrossRefGoogle Scholar
Leuschel, M. and Massart, T. 2000. Infinite state model checking by abstract interpretation and program specialization. In Proc. of LOPSTR '99. LNCS, vol. 1817. Springer, Berlin, 6382.Google Scholar
MAP. 2011. The MAP transformation system. URL: http://www.iasi.cnr.it/~proietti/system.html (Version July 2011).Google Scholar
Nilsson, U. and Lübcke, J. 2000. Constraint logic programming for local and symbolic model-checking. In Proc. of Computational Logic 2000. LNAI, vol. 1861. Springer, Berlin, 384398.Google Scholar
Peralta, J. C. and Gallagher, J. P. 2003. Convex hull abstractions in specialization of CLP programs. In Proc. of LOPSTR 2002. LNCS, vol. 2664. Springer, Berlin, 90108.Google Scholar
Pnueli, A. and Shahar, E. 1996. A platform for combining deductive with algorithmic verification. In Proc. of CAV '96. LNCS, vol. 1102. Springer, 184195.Google Scholar
Ramakrishna, Y. S., Ramakrishnan, C. R., Ramakrishnan, I. V., Smolka, S. A., Swift, T. and Warren, D. S. 1997. Efficient model checking using tabled resolution. In Proc. of CAV '97. LNCS, vol. 1254. Springer, Berlin, 143154.Google Scholar
Roychoudhury, A., Kumar, K. N., Ramakrishnan, C. R., Ramakrishnan, I. V. and Smolka, S. A. 2000. Verification of parameterized systems using logic program transformations. In Proc. of TACAS 2000. LNCS, vol. 1785. Springer, Berlin, 172187.Google Scholar
Seki, H. 1991. Unfold/fold transformation of stratified programs. Theoretical Computer Science 86, 107139.Google Scholar
Sipma, H. B., Uribe, T. E. and Manna, Z. 1999. Deductive model checking. Formal Methods in System Design 15, 4974.CrossRefGoogle Scholar
Sørensen, M. H. and Glück, R. 1995. An algorithm of generalization in positive supercompilation. In Proc. of ILPS '95. MIT Press, Cambridge, MA, 465479.Google Scholar
Yavuz-Kahveci, T. and Bultan, T. 2009. Action language verifier: An infinite-state model checker for reactive software specifications. Formal Methods in System Design 35, 3, 325367.CrossRefGoogle Scholar