Advertisement

Tools for software verification

Introduction to the special section from the seventeenth international conference on tools and algorithms for the construction and analysis of systems
  • Parosh Aziz AbdullaEmail author
  • K. Rustan M. Leino
Introduction

Abstract

Developing tools that are able to perform automatic verification on realistic models of software systems is one of the main challenges facing the formal methods community. We briefly review the research area and introduce three papers selected from the Seventeenth International Conference on Tools and Algorithms for the Construction and Analysis of Systems (tacas 2011).

Keywords

Software verification Model checking Automata theory Protocol verification 

References

  1. 1.
    Abdulla, P.A., Čerāns K., Jonsson, B., Tsay, Y-K.: General decidability theorems for infinite-state systems. In: Proceedings LICS ’96, 11th IEEE International Symposium on Logic in Computer Science, pp. 313–321. IEEE, Berlin (1996)Google Scholar
  2. 2.
    Abdulla, P.A., Ben Henda, N., Delzanno, G., Rezine, A.: Regular model checking without transducers (on efficient verification of parameterized systems). In: Proceedings TACAS ’07, 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science, vol. 4424, pp. 721–736. Springer, Berlin (2007)Google Scholar
  3. 3.
    Abdulla, P.A.; Jonsson, B.: Verifying programs with unreliable channels. In: Proceeding LICS ’93, 8th IEEE International Symposium on Logic in Computer Science, pp. 160–170. IEEE, Berlin (1993)Google Scholar
  4. 4.
    Alur, R., Dill, D.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Atig, M.F., Bouajjani, A., Burckhardt, S., Musuvathi, M.: On the verification problem for weak memory models. In: POPL, pp. 7–18. ACM, New York (2010)Google Scholar
  6. 6.
    Ball, T., Cook, B., Levin, V., Rajamani, S.K.: SLAM and static driver verifier: Technology transfer of formal methods inside microsoft. In: Integrated Formal Methods. LNCS, vol. 2999, pp. 1–20. Springer, Berlin (2004)Google Scholar
  7. 7.
    Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of C programs. In: PLDI 2001, pp. 203–213. ACM, New York (2001)Google Scholar
  8. 8.
    Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: PLDI, pp. 196–207. ACM, New York (2003)Google Scholar
  9. 9.
    Bouajjani, A., Esparza, J., Maler, O.: Reachability Analysis of Pushdown Automata: Application to Model Checking. In: Proceedings International Conference on Concurrency Theory (CONCUR’97). LNCS, vol. 1243, pp. 135–150. Springer, Berlin (1997)Google Scholar
  10. 10.
    Browne, M.C., Clarke, E.M., Dill, D.L., Mishra, B.: Automatic verification of sequential circuits using temporal logic. IEEE Trans. Comput. C–35(12), 1035–1044 (1986)CrossRefGoogle Scholar
  11. 11.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C–35(8), 677–691 (1986)CrossRefGoogle Scholar
  12. 12.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. Inform. Comput. 98(2), 142–170 (1992)Google Scholar
  13. 13.
    Burkart, O., Steffen, B.: Model checking for context-free processes. In: CONCUR. LNCS, pp 123–137. Springer, Berlin (1992)Google Scholar
  14. 14.
    Burkart, O., Steffen, B.: Pushdown processes: Parallel composition and model checking. In: CONCUR. LNCS, pp 98–113. Springer, Berlin (1994)Google Scholar
  15. 15.
    Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 19(1), 7–34 (2001)zbMATHCrossRefGoogle Scholar
  16. 16.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Proceeding 12th International Conference on Computer Aided Verification. Lecture Notes in Computer Science, vol. 1855. Springer, Berlin (2000)Google Scholar
  17. 17.
    Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. In: Proceedings 19th ACM Symposium on Principles of Programming Languages, pp. 343–354. ACM, New York (1992)Google Scholar
  18. 18.
    Clarke, E.M., Grumberg, O., Minea, M., Peled, D.: State space reduction using partial order techniques. Softw. Tools Technol. Transf. 2, 279–287 (1999)zbMATHCrossRefGoogle Scholar
  19. 19.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen D. (ed.) Proceeding IBM workshop on Logics of Programs. Lecture Notes in Computer Science, vol. 131. Springer, Berlin (1982)Google Scholar
  20. 20.
    Clarke, E.M., Emerson, E.A.: Synthesis of synchronization skeletons using branching time temporal logic. Sci. Comput. Progr. 2, 241–266 (1982)zbMATHCrossRefGoogle Scholar
  21. 21.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238–252. ACM, New York (1977)Google Scholar
  22. 22.
    de Moura, L., Bjørner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69–77 (2011) Google Scholar
  23. 23.
    Esparza, J., Schwoon S.: A BDD-based model checker for recursive programs. In: Berry, Comon, Finkel (eds) Proceedings 13th International Conference on Computer Aided Verification. Lecture Notes in Computer Science, vol. 2102, pp. 324–336. Springer, Berlin (2001)Google Scholar
  24. 24.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: Cadp 2011: a tool-box for construction and analysis of distributed processes. Int J Softw Tools Technol Transfer (2013). doi: 10.1007/s10009-012-0244-z
  25. 25.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. PhD thesis, University of Liège. Lecture notes in Computer Science, vol. 1032. Springer, Berlin (1996)Google Scholar
  26. 26.
    Gordon, M.: Twenty years of theorem proving for HOL’s past, present and future. In: TPHOLs. Lecture Notes in Computer Science, vol. 5170, pp. 1–5. Springer, Berlin (2008)Google Scholar
  27. 27.
    Jacobs, B., Piessens, F.: Expressive modular fine-grained concurrency specification. In: POPL, pp. 271–282. ACM, New York (2011)Google Scholar
  28. 28.
    Rustan, K., Leino, M., Müller, P.: A basis for verifying multi-threaded programs. In: ESOP. Lecture Notes in Computer Science, vol. 5502, pp. 378–393. ACM, New York (2009)Google Scholar
  29. 29.
    Marques, A.P., Ravn, A.P., Srba, J., Vighio, S.: Model checking web services business activity protocol. Int J Softw Tools Technol Transfer (2013). doi: 10.1007/s10009-012-0231-4
  30. 30.
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: 5th International Symposium on Programming, Turin. Lecture Notes in Computer Science, vol. 137, pp. 337–352. Springer, Berlin (1982)Google Scholar
  31. 31.
    Tsay, Y-K., Tsai, M-H., Chang, J-S., Chang, Y-W., Liu, C-S.: Büchi store: an open repository of \(\omega \)-automata. Int J Softw Tools Technol Transfer (2013). doi: 10.1007/s10009-012-0268-4
  32. 32.
    Valmari, A.: Stubborn sets for reduced state space generation. In: Advances in Petri Nets. Lecture Notes in Computer Science, vol. 483, pp. 491–515. Springer, Berlin (1990)Google Scholar
  33. 33.
    Wenzel M., Paulson L.C., Nipkow T.: The Isabelle framework. In: TPHOLs. Lecture Notes in Computer Science, vol. 5170, pp. 33–38. Springer, Berlin (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden
  2. 2.Microsoft ResearchRedmondUSA

Personalised recommendations