Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2014 Publication History
  • Get Citation Alerts
  • 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.
    [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.
    [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.
    [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.
    [5]
    C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2007.
    [6]
    D. Beyer. Second competition on software verification - (summary of sv-comp 2013). In TACAS ’13, pages 594–609, 2013.
    [7]
    D. Beyer and M. E. Keremoglu. Cpachecker: A tool for configurable software verification. In CAV ’11, pages 184–190, 2011.
    [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.
    [9]
    G. Bruns and P. Godefroid. Model checking with multi-valued logics. In ICALP ’04, pages 281–293, 2004.
    [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.
    [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.
    [12]
    E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
    [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.
    [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.
    [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.
    [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.
    [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.
    [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.
    [19]
    P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, August 2001.
    [20]
    Consultative Committee for Space Data Systems (CCSDS). CCSDS File Delivery Protocol (CFDP): Blue Book, Issue 4. NASA, 2007.
    [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.
    [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.
    [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.
    [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.
    [25]
    S. Falke, F. Merz, and C. Sinz. The bounded model checker llbmc. In ASE ’13, pages 706–709, 2013.
    [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.
    [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.
    [28]
    A. Gruler, M. Leucker, and K. Scheidemann. Modeling and model checking software product lines. In FMOODS’08, pages 113–131. Springer, 2008.
    [29]
    G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2004.
    [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.
    [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.
    [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.
    [33]
    R. Milner. An algebraic definition of simulation between programs. Technical report, Stanford University, Stanford, CA, USA, 1971.
    [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.
    [35]
    M. Plath and M. Ryan. Feature integration using a feature construct. SCP, 41(1):53–84, 2001.
    [36]
    A. Pnueli. The temporal logic of programs. In FOCS’77, pages 46–57, 1977.
    [37]
    H. Post and C. Sinz. Configuration lifting: Verification meets software configuration. In ASE’08, pages 347–350. IEEE CS, 2008.
    [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.

    Cited By

    View all
    • (2023)Family-based model checking of fMultiLTL propertiesProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608976(41-51)Online publication date: 28-Aug-2023
    • (2022)Featured gamesScience of Computer Programming10.1016/j.scico.2022.102874(102874)Online publication date: Sep-2022
    • (2021)A Formal Framework of Software Product Line AnalysesACM Transactions on Software Engineering and Methodology10.1145/344238930:3(1-37)Online publication date: 23-Apr-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 November 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Abstraction
    2. CEGAR
    3. Model Checking
    4. Software Product Lines

    Qualifiers

    • Research-article

    Conference

    SIGSOFT/FSE'14
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Family-based model checking of fMultiLTL propertiesProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608976(41-51)Online publication date: 28-Aug-2023
    • (2022)Featured gamesScience of Computer Programming10.1016/j.scico.2022.102874(102874)Online publication date: Sep-2022
    • (2021)A Formal Framework of Software Product Line AnalysesACM Transactions on Software Engineering and Methodology10.1145/344238930:3(1-37)Online publication date: 23-Apr-2021
    • (2020)Statistical Model Checking for Variability-Intensive SystemsFundamental Approaches to Software Engineering10.1007/978-3-030-45234-6_15(294-314)Online publication date: 17-Apr-2020
    • (2019)Verification and abstraction of real-time variability-intensive systemsInternational Journal on Software Tools for Technology Transfer10.1007/s10009-019-00537-z21:6(635-649)Online publication date: 21-Sep-2019
    • (2019)$$\hbox {CTL}^{\star }$$ CTL ⋆ family-based model checking using variability abstractions and modal transition systemsInternational Journal on Software Tools for Technology Transfer10.1007/s10009-019-00528-0Online publication date: 9-Aug-2019
    • (2019)A Decade of Featured Transition SystemsFrom Software Engineering to Formal Methods and Tools, and Back10.1007/978-3-030-30985-5_18(285-312)Online publication date: 9-Oct-2019
    • (2019)Shepherding Hordes of Markov ChainsAdvances in Knowledge Discovery and Data Mining10.1007/978-3-030-17465-1_10(172-190)Online publication date: 3-Apr-2019
    • (2018)Variability-Aware Static Analysis at ScaleACM Transactions on Software Engineering and Methodology10.1145/328098627:4(1-33)Online publication date: 16-Nov-2018
    • (2017)On quantitative requirements for product linesProceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3023956.3023970(2-4)Online publication date: 1-Feb-2017
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media