skip to main content
10.1145/2884781.2884860acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

PAC learning-based verification and model synthesis

Published:14 May 2016Publication History

ABSTRACT

We introduce a novel technique for verification and model synthesis of sequential programs. Our technique is based on learning an approximate regular model of the set of feasible paths in a program, and testing whether this model contains an incorrect behavior. Exact learning algorithms require checking equivalence between the model and the program, which is a difficult problem, in general undecidable. Our learning procedure is therefore based on the framework of probably approximately correct (PAC) learning, which uses sampling instead, and provides correctness guarantees expressed using the terms error probability and confidence. Besides the verification result, our procedure also outputs the model with the said correctness guarantees. Obtained preliminary experiments show encouraging results, in some cases even outperforming mature software verifiers.

References

  1. Software verification competition 2015. http://sv-comp.sosy-lab.org/2015/.Google ScholarGoogle Scholar
  2. Dana Angluin. Learning regular sets from queries and counterexamples. Information and Computation, 75(2):87--106, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dana Angluin. Queries and concept learning. Machine Learning, 2(4):319--342, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dirk Beyer and M. Erkan Keremoglu. CPAchecker: A tool for configurable software verification. In Proc. of CAV'11, pages 184--190. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Benedikt Bollig, Peter Habermehl, Carsten Kern, and Martin Leucker. Angluin-style learning of NFA. In Proc. of IJCAI'09, pages 1004--1009. IJCAI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Benedikt Bollig, Joost-Pieter Katoen, Carsten Kern, Martin Leucker, Daniel Neider, and David R. Piegdon. libalf: The automata learning framework. In Proc. of CAV'10, volume 6174 of LNCS, pages 360--364. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jacob Burnim and Koushik Sen. Heuristics for scalable dynamic test generation. In Proc. of ASE'08, pages 443--446. IEEE Computer Society, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Martin Chapman, Hana Chockler, Pascal Kesseli, Daniel Kroening, Ofer Strichman, and Michael Tautschnig. Learning the language of error. In Proc. of ATVA'15, volume 9364 of LNCS, pages 114--130. Springer, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  9. Yu-Fang Chen, Azadeh Farzan, Edmund M. Clarke, Yih-Kuen Tsay, and Bow-Yaw Wang. Learning minimal separating DFA's for compositional verification. In Proc. of TACAS'09, volume 5505 of LNCS, pages 31--45. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Edmund Clarke, Daniel Kroening, and Flavio Lerda. A tool for checking ANSI-C programs. In Proc. of TACAS'04, volume 2988 of LNCS, pages 168--176. Springer, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  11. Jamieson M. Cobleigh, Dimitra Giannakopoulou, and Corina S. Pasareanu. Learning assumptions for compositional verification. In Proc. of TACAS'03, volume 2619 of LNCS, pages 331--346. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Patrice Godefroid, Nils Klarlund, and Koushik Sen. DART: directed automated random testing. In Proc. of PLDI'05, pages 213--223. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Oded Goldreich, Shari Goldwasser, and Dana Ron. Property testing and its connection to learning and approximation. Journal of ACM, 45(4):653--750, July 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Michael J. Kearns and Umesh Virkumar Vazirani. An introduction to computational learning theory. MIT Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Axel Legay, Benoît Delahaye, and Saddek Bensalem. Statistical model checking: An overview. In Proc. of RV'10, volume 6418 of LNCS, pages 122--135. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Oliver Matz, Axel Miller, Andreas Potthoff, Wolfgang Thomas, and Erich Valkema. Report on the program AMoRE. 1995.Google ScholarGoogle Scholar
  17. George C. Necula, Scott McPeak, Shree Prakash Rahul, and Westley Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs. In Proc. of CC'02, volume 2304 of LNCS, pages 213--228. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ronald L. Rivest and Robert E. Schapire. Inference of finite automata using homing sequences. Information and Computation, 103(2):299--347, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Koushik Sen, Darko Marinov, and Gul Agha. CUTE: a concolic unit testing engine for C. In Proc. of FSE'05, pages 263--272. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Koushik Sen, Mahesh Viswanathan, and Gul Agha. Statistical model checking of black-box probabilistic systems. In Proc. of CAV'04, volume 3114 of LNCS, pages 202--215. Springer, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  21. Leslie G. Valiant. A theory of the learnable. Communications of the ACM, 27(11):1134--1142, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Neil Walkinshaw. Assessing test adequacy for black-box systems without specifications. In Proc. of ICTSS'11, volume 7019 of LNCS, pages 209--224. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Paolo Zuliani, André Platzer, and Edmund M. Clarke. Bayesian statistical model checking with application to Stateflow/Simulink verification. Formal Methods in System Design, 43(2):338--367, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. PAC learning-based verification and model synthesis

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ICSE '16: Proceedings of the 38th International Conference on Software Engineering
            May 2016
            1235 pages
            ISBN:9781450339001
            DOI:10.1145/2884781

            Copyright © 2016 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 14 May 2016

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate276of1,856submissions,15%

            Upcoming Conference

            ICSE 2025

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader