Model checking software product lines with SNIP

MTM

DOI: 10.1007/s10009-012-0234-1

Cite this article as:
Classen, A., Cordy, M., Heymans, P. et al. Int J Softw Tools Technol Transfer (2012) 14: 589. doi:10.1007/s10009-012-0234-1

Abstract

We present SNIP, an efficient model checker for software product lines (SPLs). Variability in software product lines is generally expressed in terms of features, and the number of potential products is exponential in the number of features. Whereas classical model checkers are only capable of checking properties against each individual product in the product line, SNIP exploits specifically designed algorithms to check all products in a single step. This is done by using a concise mathematical structure for product line behaviour, that exploits similarities and represents the behaviour of all products in a compact manner. Specification of an SPL in SNIP relies on the combination of two specification languages: TVL to describe the variability in the product line, and fPromela to describe the behaviour of the individual products. SNIP is thus one of the first tools equipped with specification languages to formally express both the variability and the behaviours of the products of the product line. The paper assesses SNIP and suggests that this is the first model checker for SPLs that can be used outside the academic arena.

Keywords

Model checking Product lines Tool Language Feature 

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.University of NamurNamurBelgium
  2. 2.IRISA/INRIA RennesRennesFrance
  3. 3.University of LiègeLiègeBelgium
  4. 4.INRIA Lille-Nord Europe, Université Lille 1, LIFL, CNRSLilleFrance