kirancodes.me
To Proof Maintenance & Beyond!

Simulation-based abstractions for software product-line model checking

Maxime Cordy, Andreas Classen, Gilles Perrouin, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay

Abstract

Software Product Line (SPL) engineering is a software engineering paradigm that exploits the commonality between similar software products to reduce life cycle costs and time-to-market. Many SPLs are critical and would benefit from efficient verification through model checking. Model checking SPLs is more difficult than for single systems, since the number of different products is potentially huge. In previous work, we introduced Featured Transition Systems (FTS), a formal, compact representation of SPL behaviour, and provided efficient algorithms to verify FTS. Yet, we still face the state explosion problem, like any model checking-based verification. Model abstraction is the most relevant answer to state explosion. In this paper, we define a novel simulation relation for FTS and provide an algorithm to compute it. We extend well-known simulation preservation properties to FTS and thus lay the theoretical foundations for abstraction-based model checking of SPLs. We evaluate our approach by comparing the cost of FTS-based simulation and abstraction with respect to product-by-product methods. Our results show that FTS are a solid foundation for simulation-based model checking of SPL.

BibTeX
@inproceedings{Cordy-al:ICSE12,
  author    = {Maxime Cordy and
               Andreas Classen and
               Gilles Perrouin and
               Pierre{-}Yves Schobbens and
               Patrick Heymans and
               Axel Legay},
  title     = {Simulation-based abstractions for software product-line model checking},
  booktitle = {ICSE},
  pages     = {672--682},
  publisher = {{IEEE} Computer Society},
  year      = {2012},
}

Related papers