Tracing SPLs precisely and efficiently

In a Software Product Line (SPL), the central notion of implementability provides the requisite connection between specifications (feature sets) and their implementations (component sets), leading to the definition of products. While it appears to be a simple extension (to sets) of the trace-ability relation between components and features, it actually involves several subtle issues which are overlooked in the definitions in existing literature. In this paper, we give a precise and formal definition of implementability over a fairly expressive traceability relation to solve these issues. The consequent definition of products in the given SPL naturally entails a set of useful analysis problems that are either refinements of known problems, or are completely novel. We also propose a new approach to solve these analysis problems by encoding them as Quantified Boolean Formula(QBF) and solving them through Quantified Satisfiability (QSAT) solvers. The methodology scales much better than the SAT-based solutions hinted in the literature and is demonstrated through a prototype tool called SPLANE (SPL Analysis Engine), on a couple of fairly large case studies.

[1]  Kathrin Berg,et al.  Tracing software product line variability: from problem to solution space , 2005 .

[2]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[3]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[4]  Paulo Borba,et al.  A theory of software product line refinement , 2010, Theor. Comput. Sci..

[5]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[6]  Klaus Pohl,et al.  Modelling requirements variability across product lines , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[7]  Sungwon Kang,et al.  Identifying Traceability between Feature Model and Software Architecture in Software Product Line using Formal Concept Analysis , 2007, 2007 International Conference on Computational Science and its Applications (ICCSA 2007).

[8]  Klaus Schmid,et al.  A systematic approach to derive the scope of software product lines , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[10]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[11]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[12]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[13]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[14]  Inês Lynce,et al.  The Seventh QBF Solvers Evaluation (QBFEVAL'10) , 2010, SAT.

[15]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[16]  Wenyun Zhao,et al.  A Feature Oriented Approach to Mapping from Domain Requirements to Product Line Architecture , 2006, Software Engineering Research and Practice.

[17]  Nicolas Anquetil,et al.  Traceability for Model Driven, Software Product Line Engineering , 2008 .