skip to main content
10.1145/2635868.2635919acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Counterexample guided abstraction refinement of product-line behavioural models

Published:11 November 2014Publication History

ABSTRACT

The model-checking problem for Software Products Lines (SPLs) is harder than for single systems: variability constitutes a new source of complexity that exacerbates the state-explosion problem. Abstraction techniques have successfully alleviated state explosion in single-system models. However, they need to be adapted to SPLs, to take into account the set of variants that produce a counterexample. In this paper, we apply CEGAR (Counterexample-Guided Abstraction Refinement) and we design new forms of abstraction specifically for SPLs. We carry out experiments to evaluate the efficiency of our new abstractions. The results show that our abstractions, combined with an appropriate refinement strategy, hold the potential to achieve large reductions in verification time, although they sometimes perform worse. We discuss in which cases a given abstraction should be used.

References

  1. A. Albarghouthi, Y. Li, A. Gurfinkel, and M. Chechik. Ufo: A framework for abstraction- and interpolation-based software verification. In CAV, pages 672–678, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel, H. Speidel, P. Wendler, A. von Rhein, and D. Beyer. Feature-interaction detection using feature-aware verification. In ASE’11, pages 372–375. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Apel, A. von Rhein, P. Wendler, A. Größlinger, and D. Beyer. Strategies for product-line verification: case studies and experiments. In ICSE’13, pages 482–491, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Asirelli, M. H. ter Beek, A. Fantechi, and S. Gnesi. Formal description of variability in product families. In SPLC’11, pages 130–139. Springer-Verlag, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2007.Google ScholarGoogle Scholar
  6. D. Beyer. Second competition on software verification - (summary of sv-comp 2013). In TACAS ’13, pages 594–609, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Beyer and M. E. Keremoglu. Cpachecker: A tool for configurable software verification. In CAV ’11, pages 184–190, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Q. Boucher, A. Classen, P. Heymans, A. Bourdoux, and L. Demonceau. Tag and prune: A pragmatic approach to software product line implementation. In ASE’10, pages 333–336. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. Bruns and P. Godefroid. Model checking with multi-valued logics. In ICALP ’04, pages 281–293, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  10. M. Chechik, B. Devereux, and A. Gurfinkel. Model-checking infinite state-space systems with fine-grained abstractions using spin. In SPIN ’01, pages 16–36, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement. In E. Emerson and A. Sistla, editors, Computer Aided Verification, volume 1855 of LNCS, pages 154–169. Springer Berlin / Heidelberg, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Clarke, D. Kroening, N. Sharygina, and K. Yorav. Predicate abstraction of ansi-c programs using sat. Form. Methods Syst. Des., 25(2-3):105–127, Sept. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Classen, M. Cordy, P. Heymans, A. Legay, and P.-Y. Schobbens. Model checking software product lines with SNIP. STTT, 14(5):589–612, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Classen, M. Cordy, P. Heymans, P.-Y. Schobbens, and A. Legay. Snip: An efficient model checker for software product lines. Technical report, University of Namur (FUNDP), 2011.Google ScholarGoogle Scholar
  16. A. Classen, M. Cordy, P.-Y. Schobbens, P. Heymans, A. Legay, and J.-F. cois Raskin. Featured transition systems: Foundations for verifying variability-intensive systems and their application to LTL model checking. Transactions on Software Engineering, pages 1069–1089, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Classen, P. Heymans, P.-Y. Schobbens, and A. Legay. Symbolic model checking of software product lines. In ICSE’11, pages 321–330. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model checking lots of systems: efficient verification of temporal properties in software product lines. In ICSE’10, pages 335–344. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, August 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Consultative Committee for Space Data Systems (CCSDS). CCSDS File Delivery Protocol (CFDP): Blue Book, Issue 4. NASA, 2007.Google ScholarGoogle Scholar
  21. M. Cordy, A. Classen, P. Heymans, P.-Y. Schobbens, and A. Legay. Managing evolution in software product lines : A model-checking perspective. In VaMoS’12, pages 183–191. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Cordy, A. Classen, G. Perrouin, P. Heymans, P.-Y. Schobbens, and A. Legay. Simulation-based abstractions for software product-line model checking. In ICSE’12, pages 672–682. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Cordy, P.-Y. Schobbens, P. Heymans, and A. Legay. Provelines: A product-line of verifiers for software product lines. In SPLC’13, pages 141–146. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. W. Craig. Three Uses of the Herbrand-Gentzen Theorem in Relating Model Theory and Proof Theory. The Journal of Symbolic Logic, 22(3):269–285, 1957.Google ScholarGoogle Scholar
  25. S. Falke, F. Merz, and C. Sinz. The bounded model checker llbmc. In ASE ’13, pages 706–709, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Fischbein, S. Uchitel, and V. Braberman. A foundation for behavioural conformance in software product line architectures. In ROSATEA’06, ISSTA 2006 workshop, pages 39–48. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Graf and H. Sa¨ıdi. Construction of abstract state graphs with pvs. In Proceedings of the 9th International Conference on Computer Aided Verification, CAV ’97, pages 72–83, London, UK, UK, 1997. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Gruler, M. Leucker, and K. Scheidemann. Modeling and model checking software product lines. In FMOODS’08, pages 113–131. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, 1990.Google ScholarGoogle Scholar
  31. J. Kramer, J. Magee, M. Sloman, and A. Lister. Conic: an integrated approach to distributed computer control systems. Computers and Digital Techniques, IEE Proceedings E, 130(1):1–10, 1983.Google ScholarGoogle ScholarCross RefCross Ref
  32. J. Liebig, A. von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer. Scalable analysis of variable software. In ESEC/SIGSOFT FSE ’11, pages 81–91, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. R. Milner. An algebraic definition of simulation between programs. Technical report, Stanford University, Stanford, CA, USA, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. Morse, L. Cordeiro, D. Nicole, and B. Fischer. Handling unbounded loops with esbmc 1.20 - (competition contribution). In TACAS, pages 619–622, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Plath and M. Ryan. Feature integration using a feature construct. SCP, 41(1):53–84, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Pnueli. The temporal logic of programs. In FOCS’77, pages 46–57, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H. Post and C. Sinz. Configuration lifting: Verification meets software configuration. In ASE’08, pages 347–350. IEEE CS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. P.-Y. Schobbens, P. Heymans, J.-C. Trigaux, and Y. Bontemps. Feature Diagrams: A Survey and A Formal Semantics. In RE’06, pages 139–148, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Counterexample guided abstraction refinement of product-line behavioural models

            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
              FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
              November 2014
              856 pages
              ISBN:9781450330565
              DOI:10.1145/2635868

              Copyright © 2014 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: 11 November 2014

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate17of128submissions,13%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader