ABSTRACT
KernelHaven is an open infrastructure for Software Product Line (SPL) analysis. It is intended both as a production-quality analysis tool set as well as a research support tool, e.g., to support researchers in systematically exploring research hypothesis. For flexibility and ease of experimentation KernelHaven components are plug-ins for extracting certain information from SPL artifacts and processing this information, e.g., to check the correctness and consistency of variability information or to apply metrics. A configuration-based setup along with automatic documentation functionality allows different experiments and supports their easy reproduction.
Here, we describe KernelHaven as a product line analysis research tool and highlight its basic approach as well as its fundamental capabilities. In particular, we describe available information extraction and processing plug-ins and how to combine them. On this basis, researchers and interested professional users can rapidly conduct a first set of experiments. Further, we describe the concepts for extending KernelHaven by new plug-ins, which reduces development effort when realizing new experiments.
- Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In 9th International Conference on Software Product Lines. Springer-Verlag, Berlin, Heidelberg, 7--20. Google ScholarDigital Library
- Thorsten Berger and Christian Kästner. 2016. KBuildMiner. (2016). https://github.com/ckaestne/KBuildMiner Last visited: 18.04.2018.Google Scholar
- Carl Boettiger. 2015. An Introduction to Docker for Reproducible Research. Operating Systems Review - Special Issue on Repeatability and Sharing of Experimental Artifacts 49, 1 (2015), 71--79. Google ScholarDigital Library
- Jürgen Cito and Harald C. Gall. 2016. Using Docker Containers to Improve Reproducibility in Software Engineering Research. In 38th International Conference on Software Engineering Companion. ACM, New York, NY, USA, 906--907. Google ScholarDigital Library
- srcML Community. 2018. srcML. (2018). http://www.srcml.org/ Last visited: 18.04.2018.Google Scholar
- Christian Dietrich, Reinhard Tartler, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2012. A Robust Approach for Variability Extraction from the Linux Build System. In 16th International Software Product Line Conference, Vol. 1. ACM, New York, NY, USA, 21--30. Google ScholarDigital Library
- Holger Eichelberger, Aike Sass, and Klaus Schmid. 2016. From Reproducibility Problems to Improvements: A journey. Softwaretechnik-Trends 36, 4 (2016), 43--45.Google Scholar
- Sascha El-Sharkawy, Saura Jyoti Dhar, Adam Krafczyk, Slawomir Duszynski, Tobias Beichter, and Klaus Schmid. 2018. Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned. In Proceedings of the 22nd International Systems and Software Product Line Conference (SPLC '18). ACM, New York, NY, USA, 11. accepted. Google ScholarDigital Library
- Sascha El-Sharkawy, Adam Krafczyk, and Klaus Schmid. 2017. An Empirical Study of Configuration Mismatches in Linux. In 21st International Systems and Software Product Line Conference, Vol. A. ACM, New York, NY, USA, 19--28. Google ScholarDigital Library
- Sascha El-Sharkawy, Nozomi Yamagishi-Eichler, and Klaus Schmid. 2018. Implementation Metrics for Software Product Lines - A Systematic Literature Review. Technical Report 1/2018, SSE 1/18/E. Institute of Computer Science, University of Hildesheim. Available at https://sse.uni-hildesheim.de/en/research/projects/revamp2/spl-metrics/.Google Scholar
- Christian Kästner. 2013. Type Chef. (2013). https://ckaestne.github.io/TypeChef/Last visited: 18.14.2018.Google Scholar
- Christian Kästner. 2016. KConfigReader. (2016). https://github.com/ckaestne/kconfgreader Last visited: 18.04.2018.Google Scholar
- KBuild. 2018. KBuild - The Linux Kernel Build System. (2018). https://www.kernel.org/doc/Documentation/kbuild/ Last visited: 18.04.2018.Google Scholar
- Christian Kröher, Sascha El-Sharkawy, and Klaus Schmid. 2018. KernelHaven - An Experimentation Workbench for Analyzing Software Product Lines. In 40th International Conference on Software Engineering: Companion Proceedings. ACM, New York, NY, USA, 73--76. Google ScholarDigital Library
- Sarah Nadi, Thorsten Berger, Christian Kästner, and Krzysztof Czarnecki. 2015. Where do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study. IEEE Transactions on Software Engineering 41, 8 (2015), 820--841.Google ScholarDigital Library
- Sarah Nadi and Ric Holt. 2012. Mining Kbuild to detect variability anomalies in Linux. In 16th European Conference on Software Maintenance and Reengineering. IEEE Computer Society, Washington, DC, USA, 107--116. Google ScholarDigital Library
- Reinhard Tartler, Daniel Lohmann, Julio Sincero, and Wolfgang Schröder-Preikschat. 2011. Feature Consistency in Compile-time-configurable System Software: Facing the Linux 10,000 Feature Problem. In 6th Conference on Computer Systems. ACM, New York, NY, USA, 47--60. Google ScholarDigital Library
- VAMOS/CADOS Team. 2015. Undertaker. (2015). https://vamos.informatik.uni-erlangen.de/trac/undertaker Last visited: 18.04.2018.Google Scholar
Index Terms
- KernelHaven: an open infrastructure for product line analysis
Recommendations
An Empirical Study of Configuration Mismatches in Linux
SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume AIdeally the variability of a product line is represented completely and correctly by its variability model. However, in practice additional variability is often represented on the level of the build system or in the code. Such a situation may lead to ...
KernelHaven: an experimentation workbench for analyzing software product lines
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion ProceeedingsSystematic exploration of hypotheses is a major part of any empirical research. In software engineering, we often produce unique tools for experiments and evaluate them independently on different data sets. In this paper, we present KernelHaven as an ...
ProFeat: feature-oriented engineering for family-based probabilistic model checking
AbstractThe concept of features provides an elegant way to specify families of systems. Given a base system, features encapsulate additional functionalities that can be activated or deactivated to enhance or restrict the base system’s behaviors. Features ...
Comments