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.
翻译:在软件工程中,我们常常制作独特的实验工具,并独立评估不同数据集的实验工具。在本文中,我们将Kernel Haven作为实验工作平台介绍,以支持静态产品线分析和核查领域的大量实验;解决通过开放插件基础设施从该领域各种艺术品中提取信息的必要性。现有的插件封装现有工具现在可以有效地结合,以产生新的分析。作为实验工作平台,它提供基于配置的实验、其文件和技术服务的定义,例如平行化和技术服务。因此,研究人员可以从技术细节中抽象地总结出来,并侧重于其研究问题的算法核心。Kernel Haven支持在特定领域进行不同种类的分析,如正确性检查、计量等。本文提出的概念也可以转移到支持其他软件工程领域的研究人员。在阿帕奇2.0下提供这种基础设施:https://github.com/Kernelveven。插件可以在他们的个人许可证下查阅。