Model checking software product lines with SNIP

被引:79
作者
Classen, Andreas [1 ]
Cordy, Maxime [1 ]
Heymans, Patrick [1 ,4 ]
Legay, Axel [2 ,3 ]
Schobbens, Pierre-Yves [1 ]
机构
[1] University of Namur, Namur
[2] IRISA/INRIA Rennes, Rennes
[3] University of Liège, Liège
[4] INRIA Lille-Nord Europe, Université Lille 1, LIFL, CNRS, Lille
关键词
Feature; Language; Model checking; Product lines; Tool;
D O I
10.1007/s10009-012-0234-1
中图分类号
学科分类号
摘要
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. © 2012 Springer-Verlag.
引用
收藏
页码:589 / 612
页数:23
相关论文
共 39 条
[1]
Apel S., Speidel H., Wendler P., von Rhein A., Beyer D., Detection of feature interactions using feature-aware verification, ASE 2011, pp. 372-375, (2011)
[2]
Asirelli P., ter Beek M.H., Fantechi A., Gnesi S., A logical framework to deal with variability, IFM'10. LNCS, 6396, pp. 43-58, (2010)
[3]
Asirelli P., ter Beek M.H., Fantechi A., Gnesi S., Formal description of variability in product families, SPLC'11, pp. 130-139, (2011)
[4]
Baier C., Katoen J.-P., Principles of Model Checking, (2007)
[5]
Batory D.S., Feature models, grammars, and propositional formulas, SPLC'05. LNCS, 3714, pp. 7-20, (2005)
[6]
Boucher Q., Classen A., Heymans P., Bourdoux A., Demonceau L., Tag and prune: A pragmatic approach to software product line implementation, ASE'10, pp. 333-336, (2010)
[7]
Bryant R.E., Symbolic boolean manipulation with ordered binarydecision diagrams, ACM Comput. Surv, 24, 3, pp. 293-318, (1992)
[8]
Cimatti A., Clarke E., Giunchiglia F., Roveri M., NuSMV: A new symbolic model checker, Int. J. Softw. Tools Technol. Transf, 2, pp. 410-425, (2000)
[9]
Classen A., (2010)
[10]
Classen A., Modelling and Model Checking Variability-Intensive Systems, (2011)