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

An extensible platform for product-line behavioural analysis

Published: 15 September 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Software Product-Line (SPL) model checking has reached an adequate level of efficiency and expressiveness to be applied on real-world cases. Yet a major challenge remains: model checkers should consist of black-box tools that do not require in-depth expertise to be used. In particular, it is essential to provide engineers with easy-to-learn languages to model both the behaviour of their SPL and the properties to check. In this paper, we propose a framework to build customized product-line verifiers modularly. Our extensible architecture allows one to plug new modelling languages or verifications algorithms without modifying other parts of it. It also provides means of representing and reasoning on variability that can facilitate the development of other SPL quality assurance techniques. We illustrate the benefits of our approach by detailing how we created a new domain-specific SPL modelling language and linked it to our tool.

    References

    [1]
    D. Alur, J. Cupri, and D. Malks. Core J2EE Patterns: Best Practices and Design. Prentice Hall International, 2. a. edition, 2003.
    [2]
    R. Alur, C. Courcoubetis, and D. Dill. Model-checking in dense real-time. Inf. Comput., 104:2--34, May 1993.
    [3]
    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.
    [4]
    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.
    [5]
    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.
    [6]
    C. Baier and J.-P. Katoen. Principles of Model Checking (Representation and Mind Series). The MIT Press, 2008.
    [7]
    D. S. Batory. Feature models, grammars, and propositional formulas. In SPLC, pages 7--20, 2005.
    [8]
    D. Benavides, S. Segura, P. Trinidad, and A. R. Cortés. Fama: Tooling a framework for the automated analysis of feature models. In VaMoS'07, pages 129--134, 2007.
    [9]
    J. Bengtsson, K. G. Larsen, F. Larsson, P. Pettersson, and W. Yi. UPPAAL in 1995. In TACAS'96, pages 431--434. Springer-Verlag, 1996.
    [10]
    D. Beuche. Modeling and building software product lines with pure::variants. In SPLC'08, page 358, 2008.
    [11]
    D. Beyer and M. E. Keremoglu. Cpachecker: A tool for configurable software verification. In CAV '11, pages 184--190, 2011.
    [12]
    A. Cimatti, E. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella. NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking. In CAV '02, volume 2404. Springer, July 2002.
    [13]
    E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
    [14]
    A. Classen, Q. Boucher, and P. Heymans. A text-based approach to feature modelling: Syntax and semantics of TVL. SCP, 76:1130--1143, December 2011.
    [15]
    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.
    [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]
    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.
    [21]
    M. Cordy, P. Heymans, P.-Y. Schobbens, and A. Legay. Behavioural modelling and verification of real-time software product lines. In SPLC'12. ACM, 2012.
    [22]
    M. Cordy, P. Heymans, P.-Y. Schobbens, A. M. Sharifloo, C. Ghezzi, and A. Legay. Verification for reliable product lines. arXiv preprint arXiv:1311.1343, 2013.
    [23]
    M. Cordy, P.-Y. Schobbens, P. Heymans, and A. Legay. Beyond boolean product-line model checking: Dealing with feature attributes and multi-features. In ICSE'13, pages 472--481. IEEE, 2013.
    [24]
    M. Cordy, P.-Y. Schobbens, P. Heymans, and A. Legay. Provelines: A product-line of verifiers for software product lines. In SPLC'13, vol. 2, pages 141--146. ACM, 2013.
    [25]
    M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. Property specification patterns for finite-state verification. In Proceedings of the second workshop on Formal methods in software practice, FMSP '98, pages 7--15, New York, NY, USA, 1998. ACM.
    [26]
    M. Fowler. Inversion of control containers and the dependency injection pattern, Jan. 2004. http://martinfowler.com/articles/injection.html.
    [27]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994.
    [28]
    J. Greenyer, A. M. Sharifloo, M. Cordy, and P. Heymans. Efficient consistency checking of scenario-based product line specifications. In RE '12, pages 161--170, 2012.
    [29]
    A. Haber, C. Kolassa, P. Manhart, P. M. S. Nazari, B. Rumpe, and I. Schaefer. First-class variability modeling in matlab/simulink. In VaMoS '13, pages 4:1--4:8, New York, NY, USA, 2013. ACM.
    [30]
    H. Hansson and B. Jonsson. A logic for reasoning about time and reliability. Formal Aspects of Computing, 6:102--111, 1994.
    [31]
    D. Harel. Statecharts: A visual formalism for complex systems. SCP, 8(3):231--274, June 1987.
    [32]
    G. Holzmann. SPIN model checker, the: primer and reference manual. Addison-Wesley Professional, 2004.
    [33]
    A. Jeanjot. High-level modelling and formal semantics of product-line behaviour. Master's thesis, University of Namur, Belgium, 2013.
    [34]
    K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute, November 1990.
    [35]
    B. Liskov and J. Guttag. Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1st edition, 2000.
    [36]
    Y. Liu, J. Sun, and J. S. Dong. Pat 3: An extensible architecture for building multi-domain model checkers. In Proceedings of the 2011 IEEE 22nd International Symposium on Software Reliability Engineering, ISSRE '11, pages 190--199, Washington, DC, USA, 2011. IEEE Computer Society.
    [37]
    M. Plath and M. Ryan. Feature integration using a feature construct. SCP, 41(1):53--84, 2001.
    [38]
    A. Pnueli. The temporal logic of programs. In FOCS, pages 46--57, 1977.
    [39]
    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.
    [40]
    P. Shaker, J. M. Atlee, and S. Wang. A feature-oriented requirements modelling language. In RE '12, pages 151--160, 2012.
    [41]
    M. H. ter Beek, F. Mazzanti, and A. Sulova. VMC: A tool for product variability analysis. In FM '12, pages 450--454, 2012.

    Cited By

    View all
    • (2020)A BDD for Linux?Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414943(1-6)Online publication date: 19-Oct-2020
    • (2019)Sampling strategies for product lines with unbounded parametric real-time constraintsInternational Journal on Software Tools for Technology Transfer10.1007/s10009-019-00532-4Online publication date: 24-Sep-2019
    • (2016)A complexity taleProceedings of the 1st International Workshop on Variability and Complexity in Software Design10.1145/2897045.2897051(28-31)Online publication date: 14-May-2016

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SPLC '14: Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools - Volume 2
    September 2014
    151 pages
    ISBN:9781450327398
    DOI:10.1145/2647908
    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

    • University of Florence: University of Florence
    • CNR: Istituto di Scienza e Tecnologie dell Informazione

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 15 September 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. features
    2. model checking
    3. software product lines
    4. tool

    Qualifiers

    • Research-article

    Conference

    SPLC '14
    Sponsor:
    • University of Florence
    • CNR

    Acceptance Rates

    Overall Acceptance Rate 167 of 463 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)A BDD for Linux?Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414943(1-6)Online publication date: 19-Oct-2020
    • (2019)Sampling strategies for product lines with unbounded parametric real-time constraintsInternational Journal on Software Tools for Technology Transfer10.1007/s10009-019-00532-4Online publication date: 24-Sep-2019
    • (2016)A complexity taleProceedings of the 1st International Workshop on Variability and Complexity in Software Design10.1145/2897045.2897051(28-31)Online publication date: 14-May-2016

    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