KernelHaven: an open infrastructure for product line analysis

@article{Krher2018KernelHavenAO,
  title={KernelHaven: an open infrastructure for product line analysis},
  author={Christian Kr{\"o}her and Sascha El-Sharkawy and Klaus Schmid},
  journal={Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 2},
  year={2018}
}
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… 
Fast static analyses of software product lines: an example with more than 42,000 metrics
TLDR
This paper introduces a partial parsing approach used for the efficient measurement of more than 42,000 code metric variations, which allows for the flexible combination of single system and variability-aware metrics, which is not supported by existing tools.
Reverse engineering variability in an industrial product line: observations and lessons learned
TLDR
This paper presents an approach to reverse engineer variability constraints from the implementation of the Bosch PS-EC large-scale product line to improve the correctness and completeness of variability models.
Mining Feature Revisions in Highly-Configurable Software Systems
TLDR
An automated approach to mine HCSS features taking into account evolution in space and time is proposed and can contribute to future research on understanding the characteristics of HCSS and supporting developers during maintenance and evolution tasks.
The life cycle of features in highly-configurable software systems evolving in space and time
TLDR
An automated mining approach is introduced and applied to four HCSSs, analyzing commits of their entire development life cycle, stressing the need for better support of system evolution in space and time at the level of features.
Reverse engineering code dependencies: converting integer-based variability to propositional logic
TLDR
An approach to convert integer-based variability conditions to propositional logic, that use integer variables, into propositional formulas, to enable easy usage of SAT-solvers on the result.
Covert and Phantom Features in Annotations: Do They Impact Variability Analysis?
TLDR
This paper investigates two types of variation points, namely negating and #else directives, to which they are seldom explicitly considered in research, and argues that metrics and variability analysis techniques need to be refined to provide more precise results.
Improving Software Engineering Research Through Experimentation Workbenches
TLDR
Experimentation with software prototypes plays a fundamental role in software engineering research, but explicit support for this key activity is relatively small and experiments are still very difficult to replicate.
MetricHaven: More than 23,000 Metrics for Measuring Quality Attributes of Software Product Lines
TLDR
This work provides configuration support for already implemented metrics, resulting in 23,342 metric variations, and presents an abstract syntax tree developed for MetricHaven, that allows the realization of additional code metrics.
Product-line analysis cookbook: a classification system for complex analysis toolchains
TLDR
A classification system which describes existing analyses and reveals possible combinations, i.

References

SHOWING 1-10 OF 17 REFERENCES
KernelHaven – An Experimentation Workbench for Analyzing Software Product Lines
TLDR
This paper presents KernelHaven as an experimentation workbench supporting a significant number of experiments in the domain of static product line analysis and verification by means of an open plug-in infrastructure.
A robust approach for variability extraction from the Linux build system
TLDR
A robust approach for extracting implementation variability from the Linux build system that works for all versions and architectures from the (git-)history of Linux.
An Empirical Study of Configuration Mismatches in Linux
TLDR
This paper presents a detailed manual analysis of 80 configuration mismatches in the Linux 4.4.1 kernel and identifies various categories of configuration issues and shows that about two-thirds of the configuration mismatching may actually lead to kernel misconfigurations.
Feature consistency in compile-time-configurable system software: facing the linux 10,000 feature problem
TLDR
This work suggests an approach to automatically check for configurability-related implementation defects in large-scale configurable system software, which has led to numerous source-code improvements and bug fixes in Linux.
Reverse engineering variability in an industrial product line: observations and lessons learned
TLDR
This paper presents an approach to reverse engineer variability constraints from the implementation of the Bosch PS-EC large-scale product line to improve the correctness and completeness of variability models.
Mining Kbuild to Detect Variability Anomalies in Linux
  • Sarah Nadi, R. Holt
  • Computer Science
    2012 16th European Conference on Software Maintenance and Reengineering
  • 2012
TLDR
This paper extends published work that had found anomalies (dead and undead code blocks) by concentrating largely on code and Kconfig files to suggest that automatic detection of such anomalies has the potential to decrease maintenance efforts and increase reliability.
Where Do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study
TLDR
A static analysis approach, based on two rules, to extract configuration constraints from code and it is found that, apart from low-level implementation dependencies, configuration constraints enforce correct runtime behavior, improve users' configuration experience, and prevent corner cases.
An introduction to Docker for reproducible research
TLDR
How the popular emerging technology Docker combines several areas from systems research - such as operating system virtualization, cross-platform portability, modular re-usable elements, versioning, and a 'DevOps' philosophy, to address these challenges is examined.
Using Docker Containers to Improve Reproducibility in Software Engineering Research
  • Jürgen Cito, H. Gall
  • Computer Science
    2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C)
  • 2016
TLDR
A technical briefing presents how Docker containers can overcome issues and aid the reproducibility of research artifacts in software engineering and discusses their applications in the field.
Feature Models, Grammars, and Propositional Formulas
TLDR
This work integrates prior results to connect feature models, grammars, and propositional formulas, which allows arbitrary propositional constraints to be defined among features and enables off-the-shelf satisfiability solvers to debug feature models.
...
1
2
...