通过实验工作台改进软件工程研究
1. 引言
软件工程研究在很大程度上具有实验性质,涵盖方法导向研究和实现导向研究。然而,软件工程实验研究面临着与其他实验学科类似的挑战,如研究结果的可复制性、实验过程的高效支持以及科研成果的复用等。
在软件工程领域,研究过程缺乏系统支持的问题日益凸显。即使提供了相关软件(如开源软件),由于可能依赖第三方工具或存在未记录的执行细节,实验复制往往困难重重,甚至无法实现。为改善这一状况,一些组织(如 ACM)制定了相关指南,并对可重复性、可复制性和可再现性进行了定义:
- 可重复性:研究人员在多次试验中使用自己的实验设置获得相同结果。
- 可复制性:不同人员在多次试验中使用研究人员报告的相同实验设置获得相同结果。
- 可再现性:不同人员在多次试验中使用自己的实验设置获得与研究人员报告相同的结果。
常见的提高可重复性、可复制性和可再现性的方法包括发布实验相关的所有工件、使用 Docker 或虚拟机等。但这些方法通常在实验完成后应用,可能导致文档中遗漏重要细节,且无法解决实验变化探索等问题。
基于此,提出了软件工程实验工作台的概念,旨在改善这种状况,使科研工作流程及其需求成为工具构建的核心。
2. 使用场景
以静态产品线分析领域为例,说明实验工作台如何支持实验工作流程。
2.1 准备阶段
Stefania 想测试她的新分析方法,将其实现为实验工作台的插件。该分析基于产品线的抽象表示,需要可变模型、增强可变构建模型和 C 代码文件作为输入。她以 Linux 为案例研究,但 Linux 规模庞大。对于将源代码转换为适合分析的格
超级会员免费看
订阅专栏 解锁全文
4634

被折叠的 条评论
为什么被折叠?



