Reducing the Model Checking Cost of Product Lines Using Static Analysis Techniques [chapter]

Hamideh Sabouri, Ramtin Khosravi
2012 Lecture Notes in Computer Science  
Software product line engineering is a paradigm to develop software applications using platforms and mass customization. Component based approaches play an important role in development of product lines: Components represent features, and different component combinations lead to different products. The number of combinations is exponential in the number of features, which makes the cost of product line model checking high. In this paper, we propose two techniques to reduce the number of
more » ... t combinations that have to be verified. The first technique is using the static slicing approach to eliminate the features that do not affect the property. The second technique is analyzing the property and extracting sufficient conditions of property satisfaction/violation, to identify products that satisfy or violate the property without model checking. We apply these techniques on a vending machine case study to show the applicability and effectiveness of our approach. The results show that the number of generated states and time of model checking is reduced significantly using the proposed reduction techniques.
doi:10.1007/978-3-642-35743-5_18 fatcat:mf4rdtojojhcxl42i36yff4aeu