A theory of software product line refinement

Paulo Borba, Leopoldo Teixeira, Rohit Gheyi
2012 Theoretical Computer Science  
To safely evolve a software product line, it is important to have a notion of product line refinement that assures behavior preservation of the original product line products. So in this article we present a language independent theory of product line refinement, establishing refinement properties that justify stepwise and compositional product line evolution. Moreover, we instantiate our theory with the formalization of specific languages for typical product lines artifacts, and then introduce
more » ... and prove soundness of a number of associated product line refinement transformation templates. These templates can be used to reason about specific product lines and as a basis to derive comprehensive product line refinement catalogues. {Photo, Send Photo, 240x320}, together with the mandatory features, which hereafter we omit for brevity, is a valid feature selection (product configuration), but {Music, Send Photo, 240x320} is not. Likewise {Music, Photo, 240x320} is a valid configuration, but {Music, Photo, 240x320, 128x149} 1 The online appendix containing the proofs not detailed in the text and the complete theory and proofs in PVS is available at:
doi:10.1016/j.tcs.2012.01.031 fatcat:ofvwimokdbf6peg5hvam2vofhm