Model checking software product lines with SNIP

A. Classen, M. Cordy, P. Heymans, P.-Y. Schobbens, A. Legay

Research output: Contribution to journalArticlepeer-review

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.
Original languageEnglish
Pages (from-to)589-612
Number of pages24
JournalInternational Journal on Software Tools for Technology Transfer (STTT)
Volume14
Issue number5
DOIs
Publication statusPublished - 1 Jan 2012

Fingerprint

Dive into the research topics of 'Model checking software product lines with SNIP'. Together they form a unique fingerprint.

Cite this