TY - JOUR
T1 - Formal semantics, modular specification, and symbolic verification of product-line behaviour
AU - Classen, Andreas
AU - Cordy, Maxime
AU - Heymans, Patrick
AU - Legay, Axel
AU - Schobbens, Pierre Yves
PY - 2014/2/1
Y1 - 2014/2/1
N2 - Formal techniques for specifying and verifying Software Product Lines (SPL) are actively studied. While the foundations of this domain recently made significant progress with the introduction of Featured Transition Systems (FTSs) and associated algorithms, SPL model checking still faces the well-known state explosion problem. Moreover, there is a need for high-level specification languages usable in industry. We address the state explosion problem by applying the principles of symbolic model checking to FTS-based verification of SPLs. In order to specify properties on specific products only, we extend the temporal logic CTL with feature quantifiers. Next, we show how SPL behaviour can be specified with fSMV, a variant of SMV, the specification language of the industry-strength model checker NuSMV. fSMV is a feature-oriented extension of SMV originally introduced by Plath and Ryan. We prove that fSMV and FTSs are expressively equivalent. Finally, we connect these results to a NuSMV extension we developed for verifying SPLs against CTL properties.
AB - Formal techniques for specifying and verifying Software Product Lines (SPL) are actively studied. While the foundations of this domain recently made significant progress with the introduction of Featured Transition Systems (FTSs) and associated algorithms, SPL model checking still faces the well-known state explosion problem. Moreover, there is a need for high-level specification languages usable in industry. We address the state explosion problem by applying the principles of symbolic model checking to FTS-based verification of SPLs. In order to specify properties on specific products only, we extend the temporal logic CTL with feature quantifiers. Next, we show how SPL behaviour can be specified with fSMV, a variant of SMV, the specification language of the industry-strength model checker NuSMV. fSMV is a feature-oriented extension of SMV originally introduced by Plath and Ryan. We prove that fSMV and FTSs are expressively equivalent. Finally, we connect these results to a NuSMV extension we developed for verifying SPLs against CTL properties.
KW - Feature
KW - Language
KW - Software product line
KW - Specification
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=84889886727&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2013.09.019
DO - 10.1016/j.scico.2013.09.019
M3 - Article
AN - SCOPUS:84889886727
SN - 0167-6423
VL - 80
SP - 416
EP - 439
JO - Science of Computer Programming
JF - Science of Computer Programming
IS - PART B
ER -