Model checking partial software product line designs

Yufeng Shi, Ou Wei, Yu Zhou
2014 Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices - InnoSWDev 2014  
Software product line (SPL) maximizes commonality between software products to reduce cost and improve productivity, where each product is represented by a selection of features that corresponds to particular customer requirements. SPL has been widely applied in critical systems such as communications, automobile, and aerospace, and ensuring correctness of the system is thus of great importance. In this paper, we consider model checking partial software product line designs, i.e., the
more » ... designs in the early stage of software development, where the design decisions for a feature may be unknown. This enables detecting design errors earlier, reducing the cost of later development of final products. To this end, we first propose bilatticebased feature transitions systems (BFTSs) for modeling partial software product line designs, which support description of uncertainty and preserve features as a first class notion. We then express system behavioral properties using ACTL formulas and define its semantics over BFTSs. Finally, to leverage the power of existing model checking engine for verification, we provide the procedures that translate BFTSs and ACTL formulas to the inputs of the symbolic model checker χ Chek. We implement our approach and illustrate its effectiveness on a benchmark from literature.
doi:10.1145/2666581.2666589 dblp:conf/sigsoft/ShiWZ14 fatcat:3bq66iw2wjdc3kroo2od275p3u