Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1985793.1985838acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Symbolic model checking of software product lines

Published: 21 May 2011 Publication History
  • Get Citation Alerts
  • Abstract

    We study the problem of model checking software product line (SPL) behaviours against temporal properties. This is more difficult than for single systems because an SPL with n features yields up to 2n individual systems to verify. As each individual verification suffers from state explosion, it is crucial to propose efficient formalisms and heuristics.
    We recently proposed featured transition systems (FTS), a compact representation for SPL behaviour, and defined algorithms for model checking FTS against linear temporal properties. Although they showed to outperform individual system verifications, they still face a state explosion problem as they enumerate and visit system states one by one.
    In this paper, we tackle this latter problem by using symbolic representations of the state space. This lead us to consider computation tree logic (CTL) which is supported by the industry-strength symbolic model checker NuSMV. We first lay the foundations for symbolic SPL model checking by defining a feature-oriented version of CTL and its dedicated algorithms. We then describe an implementation that adapts the NuSMV language and tool infrastructure. Finally, we propose theoretical and empirical evaluations of our results. The benchmarks show that for certain properties, our algorithm is over a hundred times faster than model checking each system with the standard algorithm.

    References

    [1]
    http://www.info.fundp.ac.be/~acs/fts, 2010.
    [2]
    P. Asirelli, M. H. ter Beek, A. Fantechi, and S. Gnesi. A logical framework to deal with variability. In 8th IFM, number 6396 in LNCS, pages 43--58. Springer, 2010.
    [3]
    P. Asirelli, M. H. ter Beek, S. Gnesi, and A. Fantechi. A deontic logical framework for modelling product families. In VaMoS'10, pages 37--44, 2010.
    [4]
    C. Baier and J.-P. Katoen. Principles of Model Checking. MIT Press, 2007.
    [5]
    D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: Challenges ahead. Comm. ACM, 49(12):45--47, 2006.
    [6]
    R. E. Bryant. Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv., 24(3):293--318, 1992.
    [7]
    J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Inf. Comp., 98(2):142--170, 1992.
    [8]
    M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: a critical review and considered forecast. Computer Networks, 41(1):115--141, 2003.
    [9]
    E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Logic of Programs, volume 131 of LNCS, pages 52--71. Springer, 1981.
    [10]
    A. Classen. CTL model checking for software product lines in NuSMV. Technical Report P-CS-TR SPLMC-00000002, University of Namur, 2010.
    [11]
    A. Classen. Modelling with FTS: a collection of illustrative examples. Technical Report P-CS-TR SPLMC-00000001, University of Namur, 2010.
    [12]
    A. Classen, P. Heymans, and P.-Y. Schobbens. What's in a feature: A requirements engineering perspective. In FASE'08, volume 4961 of LNCS, pages 16--30, 2008.
    [13]
    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 32, pages 335--344. IEEE, 2010.
    [14]
    A. Classen, P. Heymans, T. T. Tun, and B. Nuseibeh. Towards safer composition. In ICSE 31, Companion Volume, pages 227--230. IEEE, 2009.
    [15]
    P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001.
    [16]
    K. Czarnecki and M. Antkiewicz. Mapping features to models: A template approach based on superimposed variants. In GPCE'05, pages 422--437, 2005.
    [17]
    C. Ebert and C. Jones. Embedded software: Facts, figures, and future. Computer, 42(4):42--52, 2009.
    [18]
    A. Fantechi and S. Gnesi. A behavioural model for product families. In ESEC-FSE'07, pages 521--524. ACM, 2007.
    [19]
    A. Fantechi and S. Gnesi. Formal modeling for product families engineering. In SPLC 2008, pages 193--202. IEEE CS, 2008.
    [20]
    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.
    [21]
    N. Francez and I. Forman. Superimposition for inter- acting processes. In Concur'90, pages 230--245, 1990.
    [22]
    A. Gruler, M. Leucker, and K. Scheidemann. Modeling and model checking software product lines. In IFIP WG 6.1 FMOODS '08, pages 113--131. Springer, 2008.
    [23]
    K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report Carnegie Mellon University/SEI-90-TR-21, SEI, Carnegie Mellon University, November 1990.
    [24]
    K. G. Larsen. Modal specifications. In Automatic Verification Methods for Finite State Systems, volume 407 of LNCS, pages 232--246. Springer, 1989.
    [25]
    K. G. Larsen, U. Nyman, and A. Wasowski. Modal I/O automata for interface and product line theories. In ESOP, pages 64--79, 2007.
    [26]
    K. Lauenroth, S. Töhning, and K. Pohl. Model checking of domain artifacts in product line engineering. In IEEE/ACM ASE, pages 269--280, 2009.
    [27]
    H. C. Li, S. Krishnamurthi, and K. Fisler. Verifying cross-cutting features as open systems. In SIGSOFT FSE, pages 89--98, 2002.
    [28]
    J. Liu, J. Dehlinger, and R. Lutz. Safety analysis of software product lines using state-based modeling. J. Syst. Softw., 80(11):1879--1892, 2007.
    [29]
    K. McMillan. Symbolic Model Checking. Kluwer, 1993.
    [30]
    B. Morin, O. Barais, G. Nain, and J.-M. Jézéquel. Taming dynamically adaptive systems using models and aspects. In ICSE 31, pages 122--132. IEEE, 2009.
    [31]
    C. H. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.
    [32]
    M. Plath and M. Ryan. Feature integration using a feature construct. Sci. Comput. Program., 41(1):53--84, 2001.
    [33]
    A. Pnueli. The temporal logic of programs. In Proc. 18th FOCS, pages 46--57, 1977.
    [34]
    H. Post and C. Sinz. Configuration lifting: Verification meets software configuration. In ASE'08, pages 188--197. IEEE, 2008.
    [35]
    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.
    [36]
    T. T. Tun, Q. Boucher, A. Classen, A. Hubaux, and P. Heymans. Relating requirements and feature configurations: A systematic approach. In SPLC'09, pages 201--210. SEI, Carnegie Mellon University, 2009.
    [37]
    T. Ziadi, L. Hélouët, and J.-M. Jézéquel. Towards a UML profile for software product lines. In Int. Workshop on Product Family Engineering (PPE), pages 129--139, 2003.

    Cited By

    View all
    • (2024)Constrained Kripke Structure for Identifying Parameters of Biological ModelsTheoretical Computer Science10.1016/j.tcs.2024.114505(114505)Online publication date: Mar-2024
    • (2024)White-box validation of quantitative product lines by statistical model checking and process miningJournal of Systems and Software10.1016/j.jss.2024.111983210:COnline publication date: 1-Apr-2024
    • (2024)Network Simulator-Centric Compositional TestingFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-62645-6_10(177-196)Online publication date: 13-Jun-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
    May 2011
    1258 pages
    ISBN:9781450304450
    DOI:10.1145/1985793
    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: 21 May 2011

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. features
    2. software product lines
    3. specification

    Qualifiers

    • Research-article

    Conference

    ICSE11
    Sponsor:
    ICSE11: International Conference on Software Engineering
    May 21 - 28, 2011
    HI, Waikiki, Honolulu, USA

    Acceptance Rates

    Overall Acceptance Rate 276 of 1,856 submissions, 15%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)26
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Constrained Kripke Structure for Identifying Parameters of Biological ModelsTheoretical Computer Science10.1016/j.tcs.2024.114505(114505)Online publication date: Mar-2024
    • (2024)White-box validation of quantitative product lines by statistical model checking and process miningJournal of Systems and Software10.1016/j.jss.2024.111983210:COnline publication date: 1-Apr-2024
    • (2024)Network Simulator-Centric Compositional TestingFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-62645-6_10(177-196)Online publication date: 13-Jun-2024
    • (2023)Yazılım Ürün Hatlarında Tam Üründen Özellik Eksiltme Yoluyla Farklı Ürün Yapılandırmalarını Otomatik Üretme YöntemiThe software product line (SPL) is a promising approach to developing software systems that are complex, large-scale, and rich in product configuration. The automatic acquisition of product configurations’ models, which may be too many in the software product line, is very important in terms of time and cost constraints. In this study, we propose an approach that automatically extracts models of different product configurations from the full product model by feature deduction to obtain product models more productively and effectively. We validated the proposed approach on three different case studies: Soda Vending Machine SPL, Bank Account SPL, and Student Attendance System SPL. The two novelties of this study are the feature-dependency tree and the dynamic edge mapping algorithm.Deu Muhendislik Fakultesi Fen ve Muhendislik10.21205/deufmd.202325731825:73(217-238)Online publication date: 26-Jan-2023
    • (2023)Software Product Line Testing based on Event Sequence Graphs with Feature Expressions2023 8th International Conference on Computer Science and Engineering (UBMK)10.1109/UBMK59864.2023.10286660(175-180)Online publication date: 13-Sep-2023
    • (2022)Quantifying the variability mismatch between problem and solution spaceProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552411(322-333)Online publication date: 23-Oct-2022
    • (2022)Verification of Variability-Intensive Stochastic Systems with Statistical Model CheckingLeveraging Applications of Formal Methods, Verification and Validation. Adaptation and Learning10.1007/978-3-031-19759-8_27(448-471)Online publication date: 22-Oct-2022
    • (2022)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: 11-Mar-2022
    • (2021)STARSProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473068(13-17)Online publication date: 6-Sep-2021
    • (2021)Executable Test Case Generation from Specifications Written in Natural Language and Test Execution Environment2021 IEEE 18th Annual Consumer Communications & Networking Conference (CCNC)10.1109/CCNC49032.2021.9369549(1-6)Online publication date: 9-Jan-2021
    • 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