Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3183440.3183480acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
demonstration

KernelHaven: an experimentation workbench for analyzing software product lines

Published: 27 May 2018 Publication History

Abstract

Systematic 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 experimentation workbench supporting a significant number of experiments in the domain of static product line analysis and verification. It addresses the need for extracting information from a variety of artifacts in this domain by means of an open plug-in infrastructure. Available plug-ins encapsulate existing tools, which can now be combined efficiently to yield new analyses. As an experimentation workbench, it provides configuration-based definitions of experiments, their documentation, and technical services, like parallelization and caching. Hence, researchers can abstract from technical details and focus on the algorithmic core of their research problem.
KernelHaven supports different types of analyses, like correctness checks, metrics, etc., in its specific domain. The concepts presented in this paper can also be transferred to support researchers of other software engineering domains. The infrastructure is available under Apache 2.0: https://github.com/KernelHaven. The plug-ins are available under their individual licenses.
Video: https://youtu.be/IbNc-H1NoZU

References

[1]
Thorsten Berger and Christian Kästner. 2016. KBuildMiner. (2016). https://github.com/ckaestne/KBuildMiner Last visited: 08.11.2017.
[2]
Carl Boettiger. 2015. An Introduction to Docker for Reproducible Research. ACM SIGOPS Operating Systems Review - Special Issue on Repeatability and Sharing of Experimental Artifacts 49, 1 (Jan. 2015), 71--79.
[3]
Jürgen Cito and Harald C. Gall. 2016. Using Docker Containers to Improve Reproducibility in Software Engineering Research. In Software Engineering Companion. 906--907.
[4]
Christian Dietrich, Reinhard Tartler, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2012. A Robust Approach for Variability Extraction from the Linux Build System. In Software Product Line Conference. 21--30.
[5]
Holger Eichelberger, Aike Sass, and Klaus Schmid. 2016. From Reproducibility Problems to Improvements: A journey. Softwaretechnik-Trends: Proceedings of the Symposium on Software Performance (SSP'16) 36, 4 (2016).
[6]
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler, and Klaus Schmid. 2017. Implementation Metrics for Software Product Lines. Technical Report 1/2017, SSE 1/17/E. Institute of Computer Science, University of Hildesheim. Available at https://sse.uni-hildesheim.de/en/research/projects/revamp2/spl-metrics/.
[7]
Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In Object Oriented Programming Systems Languages and Applications. 805--824.
[8]
Marco Konersmann and Michael Goedicke. 2012. A Conceptual Framework and Experimental Workbench for Architectures. In Software Service and Application Engineering. Springer, 36--52.
[9]
Christian Kästner. 2013. TypeChef. (2013). https://ckaestne.github.io/TypeChef/ Last visited: 08.11.2017.
[10]
Zeeya Merali. 2010. Computational science: ... Error. Nature 467 (2010), 775--777.
[11]
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 (Aug 2015), 820--841.
[12]
Sarah Nadi and Ric Holt. 2012. Mining Kbuild to detect variability anomalies in Linux. In Software Maintenance and Reengineering. 107--116.
[13]
Sat4j 2017. (2017). http://www.sat4j.org/ Last visited 08.11.2017.
[14]
Julio Sincero, Reinhard Tartler, Daniel Lohmann, and Wolfgang Schröder-Preikschat. 2010. Efficient Extraction and Analysis of Preprocessor-based Variability. In Generative Programming and Component Engineering. 33--42.
[15]
Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. Comput. Surveys 47, 1 (2014).
[16]
Undertaker 2015. (2015). https://vamos.informatik.uni-erlangen.de/trac/undertaker Last visited: 08.11.2017.
[17]
Frank van der Linden, Klaus Schmid, and Eelco Rommes. 2007. The Product Line Engineering Approach. Springer.

Cited By

View all
  • (2024)Variability-Aware Differencing with DiffDetectiveCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663813(632-636)Online publication date: 10-Jul-2024
  • (2024)Extensions and Scalability Experiments of a Generic Model-Driven Architecture for Variability Model ReasoningProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674090(126-137)Online publication date: 22-Sep-2024
  • (2023)Generating Constraint Programs for Variability Model Reasoning: A DSL and Solver-Agnostic ApproachProceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3624007.3624060(138-152)Online publication date: 22-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings
May 2018
231 pages
ISBN:9781450356633
DOI:10.1145/3183440
  • Conference Chair:
  • Michel Chaudron,
  • General Chair:
  • Ivica Crnkovic,
  • Program Chairs:
  • Marsha Chechik,
  • Mark Harman
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2018

Check for updates

Author Tags

  1. empirical software engineering
  2. software product line analysis
  3. static analysis
  4. variability extraction

Qualifiers

  • Demonstration

Funding Sources

  • BMBF (German Ministry of Research and Education)

Conference

ICSE '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Variability-Aware Differencing with DiffDetectiveCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663813(632-636)Online publication date: 10-Jul-2024
  • (2024)Extensions and Scalability Experiments of a Generic Model-Driven Architecture for Variability Model ReasoningProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674090(126-137)Online publication date: 22-Sep-2024
  • (2023)Generating Constraint Programs for Variability Model Reasoning: A DSL and Solver-Agnostic ApproachProceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3624007.3624060(138-152)Online publication date: 22-Oct-2023
  • (2022)Simulating the Evolution of Clone-and-Own Projects with VEVOSProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3534084(231-236)Online publication date: 13-Jun-2022
  • (2022)Incremental software product line verification - A performance analysis with dead variable codeEmpirical Software Engineering10.1007/s10664-021-10090-627:3Online publication date: 1-May-2022
  • (2022)Improving Software Engineering Research Through Experimentation WorkbenchesFrom Software Engineering to Formal Methods and Tools, and Back10.1007/978-3-030-30985-5_6(67-82)Online publication date: 11-Mar-2022
  • (2021)Product-line analysis cookbookProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473951(99-104)Online publication date: 6-Sep-2021
  • (2020)A Comparative Study on Variability Code Analysis TechnologyProceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B10.1145/3382026.3425775(37-43)Online publication date: 19-Oct-2020
  • (2020)Fast static analyses of software product linesProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377031(1-9)Online publication date: 5-Feb-2020
  • (2019)MetricHavenProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342384(25-28)Online publication date: 9-Sep-2019
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media