Context: Many studies consider the relation between individual aspects of the software engineering process and bug-introduction, e.g., software testing and code review. These studies typically only identify correlations between their set of variables without accounting for interactions with external variables, such as confounding factors. Objective: Within this study, we provide a broad empirical view on practices of software development and their relation to bug-introducing changes \rev{to enable} future work on causal relations between those aspects. Method: We consider the bugs, the type of change that introduced the bug, aspects of the build process, code review, software tests, and any other discussion related to the bug that we can identify. We use a qualitative approach that first describes variables of the development process and then groups the variables based on their relations. From these groups, we deduce how their (pairwise) interactions affect bug-introducing changes. Results: We found multiple relevant relations within the development process of bug-introducing changes. Logical groups of variables and their relations provide a framework for discovering areas of interest regarding intermediate effects in the process and confounders towards bug-introduction. Conclusion: Software engineering practices applied during the development of bug-introducing changes are interdependent. This work lays the foundation to understand why bugs are introduced using causal modeling, discovery, and inference.


翻译:背景:许多研究探讨了软件工程流程的各个具体方面与缺陷引入之间的关系,例如软件测试与代码审查。这些研究通常仅识别其变量集之间的相关性,而未考虑与外部变量(如混杂因素)的相互作用。目的:在本研究中,我们针对软件开发实践及其与缺陷引入变更的关系提供广泛的实证视角,以支持未来对这些方面间因果关系的研究工作。方法:我们考察缺陷本身、引入缺陷的变更类型、构建流程的各个方面、代码审查、软件测试,以及我们能识别的与缺陷相关的任何其他讨论。我们采用定性研究方法,首先描述开发流程中的变量,然后根据变量间的关系进行分组。从这些分组中,我们推断出它们的(成对)相互作用如何影响缺陷引入变更。结果:我们在缺陷引入变更的开发过程中发现了多个相关关联。变量的逻辑分组及其相互关系为发现流程中涉及中间效应及缺陷引入混杂因素的重点领域提供了框架。结论:在缺陷引入变更的开发过程中应用的软件工程实践是相互依存的。这项工作为通过因果建模、发现与推理解释缺陷引入原因奠定了基础。

0
下载
关闭预览

相关内容

软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件就是程序加文档的集合体。
【苏黎世联邦理工博士论文】因果推断的混杂调整
专知会员服务
43+阅读 · 2022年11月7日
软件多缺陷定位方法研究综述
专知会员服务
22+阅读 · 2022年1月25日
专知会员服务
14+阅读 · 2021年9月21日
专知会员服务
38+阅读 · 2021年5月10日
专知会员服务
10+阅读 · 2021年1月31日
流程/过程挖掘(Process Mining)最新综述
PaperWeekly
23+阅读 · 2022年9月19日
用深度学习揭示数据的因果关系
专知
28+阅读 · 2019年5月18日
论文浅尝 | Interaction Embeddings for Prediction and Explanation
开放知识图谱
11+阅读 · 2019年2月1日
论文浅尝 | 基于多模态关联数据嵌入的知识库补全
开放知识图谱
12+阅读 · 2018年12月13日
相关性≠因果:概率图模型和do-calculus
论智
31+阅读 · 2018年10月29日
【学界】融合对抗学习的因果关系抽取
GAN生成式对抗网络
15+阅读 · 2018年7月14日
论文浅尝 | 变分知识图谱推理:在KG中引入变分推理框架
国家自然科学基金
4+阅读 · 2017年12月31日
国家自然科学基金
6+阅读 · 2017年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
21+阅读 · 2013年12月31日
VIP会员
相关资讯
相关基金
国家自然科学基金
4+阅读 · 2017年12月31日
国家自然科学基金
6+阅读 · 2017年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
21+阅读 · 2013年12月31日
Top
微信扫码咨询专知VIP会员