A Kconfig Translation to Logic with One-Way Validation System

Automated analysis of variability models is crucial for managing software system variants, customized for different market segments or contexts of use. As most approaches for automated analysis are built upon logic engines, they require having a Boolean logic translation of the variability models. However, the translation of some significant languages to Boolean logic is remarkably non-trivial. The contribution of this paper is twofold: first, a translation of the Kconfig language is presented; second, an approach to test the translation for any given model is provided. The proposed translation has been empirically tested with the introduced validation procedure on five open-source projects.

[1]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[3]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[4]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[5]  Javier Cámara,et al.  Theorem Proving for Product Line Model Verification , 2003, PFE.

[6]  Horst Lichter,et al.  RequiLine: A Requirements Engineering Tool for Software Product Lines , 2003, PFE.

[7]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[8]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming) , 2005 .

[9]  Hai H. Wang,et al.  Formal semantics and verification for feature modeling , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[10]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[11]  Jeff Z. Pan,et al.  A semantic web approach to feature modeling and verification , 2005 .

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

[13]  Haiyan Zhao,et al.  Feature-driven requirement dependency analysis and high-level software design , 2006, Requirements Engineering.

[14]  Rohit Gheyi,et al.  A Theory for Feature Models in Alloy , 2006 .

[15]  Harry S. Delugach,et al.  A Conceptual Graph Approach to Feature Modeling , 2007, ICCS.

[16]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[17]  Haiyan Zhao,et al.  A BDD-Based Approach to Verifying Clone-Enabled Feature Models' Constraints and Customization , 2008, ICSR.

[18]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[19]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[20]  Somnuk Phon-Amnuaisuk,et al.  Knowledge Based Method to Validate Feature Models , 2008, SPLC.

[21]  Steven She Feature Model Mining , 2008 .

[22]  Olga De Troyer,et al.  Applying semantic web technology to feature modeling , 2009, SAC '09.

[23]  Haiyan Zhao,et al.  An Optimization Strategy to Feature Models' Verification by Eliminating Verification-Irrelevant Features and Constraints , 2009, ICSR.

[24]  Analysis of Feature Models using Generalised Feature Trees , 2009, VaMoS.

[25]  VMWare: Tool Support for Automatic Verification of Structural and Semantic Correctness in Product Line Models , 2009, VaMoS.

[26]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[27]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[28]  Ruben Heradio,et al.  Inferring information from feature diagrams to product line economic models , 2009, SPLC.

[29]  Using First Order Logic to Validate Feature Model , 2009, VaMoS.

[30]  S. She,et al.  Formal Semantics of the Kconfig Language Technical Note , 2010 .

[31]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

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

[33]  D. Knuth,et al.  Bitwise tricks & techniques, binary decision diagrams , 2011 .

[34]  Wolfgang Schröder-Preikschat,et al.  Revealing and repairing configuration inconsistencies in large-scale system software , 2012, International Journal on Software Tools for Technology Transfer.

[35]  Steven She Feature Model Synthesis , 2013 .

[36]  Reinhard Tartler,et al.  Mastering Variability Challenges in Linux and Related Highly-Configurable System Software , 2013 .

[37]  Ismael Abad,et al.  A literature Review on Feature Diagram Product Counting and its Usage in Software Product Line Economic Models , 2013, Int. J. Softw. Eng. Knowl. Eng..

[38]  Krzysztof Czarnecki,et al.  A Study of Variability Models and Languages in the Systems Software Domain , 2013, IEEE Transactions on Software Engineering.

[39]  Klaus Schmid,et al.  Analysing the Kconfig semantics and its analysis tools , 2015, GPCE.

[40]  Wolfgang Küchlin,et al.  Formal analysis of the Linux kernel configuration with SAT solving , 2015, Configuration Workshop.

[41]  Enrique Herrera-Viedma,et al.  A bibliometric analysis of 20 years of research on software product lines , 2016, Inf. Softw. Technol..

[42]  Christian Kästner Differential Testing for Variational Analyses: Experience from Developing KConfigReader , 2017, ArXiv.

[43]  Enrique Herrera-Viedma,et al.  Towards Taming Variability Models in the Wild , 2017, SoMeT.