Skip to main content
Log in

Dynamic Partitioning in Linear Relation Analysis: Application to the Verification of Reactive Systems

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We apply linear relation analysis (P. Cousot and N. Halbwachs, in 5th ACM Symposium on Principles of Programming Languages, POPL'78, Tucson (Arizona), January 1978; N. Halbwachs, Y.E. Proy, and P. Roumanoff, Formal Methods in System Design, Vol. 11, No. 2, pp. 157–185, 1997) to the verification of declarative synchronous programs (N. Halbwachs, Science of Computer Programming, Special Issue on SAS'94, Vol. 31, No. 1, 1998). In this approach, state partitioning plays an important role: on one hand the precision of the results highly depends on the fineness of the partitioning; on the other hand, a too much detailed partitioning may result in an exponential explosion of the analysis. In this paper, we propose to dynamically select a suitable partitioning according to the property to be proved. The presented approach is quite general and can be applied to other abstract interpretations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. P.A. Abdulla, A. Bouajjani, and B. Jonsson, “On-the-fly analysis of systems with unbounded, lossy fifo channels,” in Computer Aided Verification, CAV'98, Vol. 1427 of LNCS, July 1998.

  2. R. Alur, C. Courcoubetis, D. Dill, N. Halbwachs, and H. Wong-Toi, “Minimization of timed transition systems,” in Proceedings of the Third Conference on Concurrency Theory CONCUR'92, Lecture Notes in Computer Science 630, Springer-Verlag, 1992, pp. 340–354.

  3. R. Alur, C. Courcoubetis, N. Halbwachs, T. Henzinger, P. Ho, X. Nicollin, A. Olivero, J. Sifakis, and S. Yovine, “The algorithmic analysis of hybrid systems,” Theoretical Computer Science B, Vol. 138, pp. 3–34, 1995.

    Google Scholar 

  4. G. Behrmann, K.G. Larsen, J. Pearson, C. Weise, and W. Yi, “Efficient timed reachability analysis using clock difference diagrams,” in Computer Aided Verification, CAV'99, Vol. 1633 of LNCS, July 1999.

  5. S. Bensalem, Y. Lakhnech, and S. Owre, “Computing abstractions of infinite state systems compositionally and automatically,” in Computer Aided Verification, CAV'98, Vol. 1427 of LNCS, July 1998.

  6. S. Bensalem, Y. Lakhnech, and H. Sadi, “Powerful techniques for the automatic generation of invariants,” in Computer Aided Verification, CAV'96, Vol. 1102 of LNCS, July 1996.

  7. N. Bjørner, A. Browne, and Z. Manna, “Automatic generation of invariants and intermediate assertions,” Theoretical Computer Science, Vol. 173, No. 1, 1997.

  8. B. Boigelot and P. Godefroid, “Symbolic verification of communication protocols with infinite state spaces using QDDs,” in Computer Aided Verification, CAV'96, Vol. 1102 of LNCS, July 1996.

  9. A. Bouajjani, J.-C. Fernandez, N. Halbwachs, P. Raymond, and C. Ratel, “Minimal state graph generation,” Science of Computer Programming, Vol. 18, pp. 247–269, 1992.

    Google Scholar 

  10. A. Bouali and R. de Simone, “Symbolic bisimulation minimisation,” in Computer Aided Verification, CAV'92, Vol. 663 of LNCS, July 1992.

  11. F. Bourdoncle, “Abstract interpretation by dynamic partitionning,” Journal of Functional Programming, Vol. 2, No. 4, 1992.

  12. F. Bourdoncle, “Efficient chaotic iteration strategies with widenings,” in International Conference on Formal Methods in Programming and their Applications, Vol. 735 of LNCS, 1993.

  13. E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith, “Counterexample-guided abstraction refinement,” in Computer Aided Verification, CAV'2000, Vol. 1855 of LNCS, July 2000.

  14. M.A. Colón and T.E. Uribe, “Generating finite-state abstractions of reactive systems using decision procedures,” in Computer Aided Verification, CAV'98, Vol. 1427 of LNCS, July 1998.

  15. O. Coudert, C. Berthet, and J.C. Madre, “Verification of synchronous sequential machines based on symbolic execution,” in International Workshop on Automatic Verification Methods for Finite State Systems, Grenoble. LNCS 407, Springer Verlag, 1989.

  16. P. Cousot, “Asynchronous iterative methods for solving a fixpoint system of monotone equations,” Technical Report IMAG-RR-88, Universit scientifique et mdicale de Grenoble, 1977.

  17. P. Cousot and R. Cousot, “Static determination of dynamic properties of programs,” in 2nd Int. Symp. on Programming. Dunod, Paris, 1976.

  18. P. Cousot and R. Cousot, “Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints,” in 4thACMSymposium on Principles of Programming Languages, POPL'77, Los Angeles, January 1977.

  19. P. Cousot and R. Cousot, “Systematic design of program analysis frameworks,” in 6th ACM Symposium on Principles of Programming Languages, POPL'79, San Antonio, January 1979.

  20. P. Cousot and R. Cousot, “Abstract interpretation frameworks,” Journal of Logic and Computation, 1992.

  21. P. Cousot and R. Cousot, “Comparing the Galois connection and widening/narrowing approaches to abstract interpretation,” in M. Bruynooghe and M. Wirsing (eds.), PLILP'92, Leuven (Belgium), LNCS 631, Springer Verlag, January 1992.

  22. P. Cousot and N. Halbwachs, “Automatic discovery of linear restraints among variables of a program,” in 5th ACM Symposium on Principles of Programming Languages, POPL'78, Tucson (Arizona), January 1978.

  23. C. Daws, A. Olivero, S. Tripakis, and S. Yovine, “The tool KRONOS,” In Hybrid Systems III, Verification and Control, Vol. 1066 of LNCS, 1996.

  24. D. Dill and H. Wong-To, “Verification of real-time systems by successive over and under approximations,” in Seventh Conference on Computer-Aided Verification, CAV'95, Lige (Belgium), LNCS 939, Springer Verlag, July 1995.

  25. L. Du Bousquet, “Test fonctionnel statistique de systèmes spécifiés en LUSTRE,” PhD thesis Université Joseph Fourier, Grenoble, 1999.

  26. S. Graf and H. Saidi, “Construction of abstract state graphs with PVS,” in Conference on Computer Aided Verification CAV'97, Haifa, Vol. 1254 of LNCS, June 1997.

  27. N. Halbwachs, “About synchronous programming and abstract interpretation,” Science of Computer Programming, Special Issue on SAS'94, Vol. 31, No. 1, May 1998.

  28. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud, “The synchronous dataflow programming language LUSTRE,” Proceedings of the IEEE, Vol. 79, No. 9, pp. 1305–1320, 1991.

    Google Scholar 

  29. N. Halbwachs, F. Lagnier, and P. Raymond, “Synchronous observers and the verification of reactive systems,” in M. Nivat, C. Rattray, T. Rus, and G. Scollo (Eds.), Third Int. Conf. on Algebraic Methodology and Software Technology, AMAST'93, Twente, Workshops in Computing, Springer Verlag, June 1993.

  30. N. Halbwachs, Y.E. Proy, and P. Roumanoff, “Verification of real-time systems using linear relation analysis,” Formal Methods in System Design, Vol. 11, No. 2, pp. 157–185, 1997.

    Google Scholar 

  31. T. Henzinger, P. Ho, and H. Wong-To, “HyTech: The next generation,” in RTSS'95, 1995.

  32. T. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine. Symbolic model-checking for real-time systems. In LICS'92, June 1992.

  33. B. Jeannet, “The convex polyhedra library NEW POLKA,” http://www.irisa.fr/prive/bjeannet/newpolka.html.

  34. B. Jeannet, N. Halbwachs, and P. Raymond, “Dynamic partitioning in analyses of numerical properties,” in Static Analysis Symposium, SAS'99, Vol. 1694 of LNCS, Venezia (Italy), September 1999.

  35. N.D. Jones, C. Gomard, and P. Sestoft, Partial Evaluation and Automatic Program Generation, Prentice Hall International, 1993.

  36. M. Karr, “Affine relationships among variables of a program,” Acta Informatica, Vol. 6, pp. 133–151, 1976.

    Google Scholar 

  37. F. Larsson, K.G. Larsen, P. Pettersson, and W. Yi, “Efficient verification of real-time systems: Compact data structures and state-space reduction,” in Proc. of the 18th IEEE Real-Time Systems Symposium. IEEE Computer Society Press, December 1997.

  38. K.G. Larsen, P. Pettersson, and W. Yi, “UPPAAL in a nutshell,” Springer International Journal of Software Tools for Technology Transfer, Vol. 1, Nos. (1/2), 1997.

  39. P. LeGuernic, T. Gautier, M. LeBorgne, and C. LeMaire, “Programming real time applications with SIGNAL,” Proceedings of the IEEE, Vol. 79, No. 9, pp. 1321–1336, 1991.

    Google Scholar 

  40. C. Mauras, “Calcul symbolique et automates interprétés,” Technical Report 10, IRCyN, November 1996.

  41. A. Miné, “Représentation d'ensembles de contraintes de somme ou de différence de deux variables et applicationà l'analyse automatique de programmes,” Master's thesis, Laboratoire d'Informatique de l' Ècole Normale Supérieure de Paris, July 2000.

  42. J. Møller, J. Lichtenberg, H.R. Andersen, and H. Hulgaard, “Difference decision diagrams,” in Computer Science Logic, The IT University of Copenhagen, Denmark, September 1999.

  43. C. Ratel, N. Halbwachs, and P. Raymond, “Programming and verifying critical systems by means of the synchronous data-flow programming language LUSTRE,” in ACM-SIGSOFT'91 Conference on Software for Critical Systems, New Orleans, December 1991.

  44. P. Raymond, “Compilation efficace d'un langage déclaratif synchrone: Le générateur de code LUSTRE-V3,” PhD thesis, Institut National Polytechnique de Grenoble, November 1991.

  45. H. Sipma, T.E. Uribe, and Z. Manna, “Deductive model checking,” in 8th International Conference on Computer Aided Verification, CAV'96, Vol. 1102 of LNCS, July 1996.

  46. F. Somenzi, “CUDD: Colorado University decision diagram package,” ftp://vlsi.colorado.edu/pub.

  47. R.F.L. Spelberg, W.J. Toetenel, and M. Ammerlaan, “Partition refinement in real-time model checking,” in 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, LNCS 1486, Springer Verlag, 1998, pp. 143–157.

  48. The Caml language. http://caml.inria.fr/.

  49. M. Yanakakis and D. Lee, “An efficient algorithm for minimizing real-time transition systems,” in Fifth Conference on Computer-Aided Verification, CAV'93, Elounda (Greece), LNCS 697, Springer Verlag, July 1993.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jeannet, B. Dynamic Partitioning in Linear Relation Analysis: Application to the Verification of Reactive Systems. Formal Methods in System Design 23, 5–37 (2003). https://doi.org/10.1023/A:1024480913162

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1024480913162

Navigation