【软件分析与挖掘】An Empirical Study of Bugs in Build Process

摘要

对软件构建过程中所产生的错误(build process bugs)进行实证研究。

5个开源项目:CXF, Camel, Felix,Struts, and Tuscany。

把build process bugs 和 other bugs在3个维度比较:bug severity, bug ?x time, the number of ?les modi?ed to ?x a bug。

结论表明,

Ⅰ.the fraction of build process bugs which are above major severity level(严重级别) is lower than that of other bugs.

小部分高于major级别的软件构建过程中的错误数量少于非软件构建过程中的错误数量

Ⅱ.the time effort required to ?x a build process bug is around 2.03 times more than that of a non-build process bug.

修复一个软件构建过程中的错误的时间花费是非构建错误的2.03倍

Ⅲ.the number of source ?les modi?ed to ?x a build process bug is around 2.34 times more than that modi?ed for a non-build bug.

修复一个软件构建过程过程中的错误需要改动的源文件数量是非构建错误的2.34倍


S1   Introduction

软件系统生成过程:编译成二进制代码,封装,执行测试样例,静态分析,生成文档,部署产品。

3个研究问题:

    • build process bugs 和 non-build bugs的严重级别分布
    • 修复build process bugs 和 non-build bugs所花的时间
    • 修复build process bugs 和 non-build bugs需要修改多少的源码

S2   METHODOLOGY & BASIC STATISTICS

To collect build process bugs we follow a two step approach: bug report collection and build process bug identi?cation.

Bug Report Collection

5个开源项目,利用JIRA bug tracking systems搜集错误报告:

Build Process Bug Identi?cation

标识Build Process Bug:

  1. 半自动的分析出哪些report是我们需要的;
  2. 从这些报告中,手动分析出哪些是构建过程中产生的错误,哪些不是;

由于并非每一个构建阶段的文件都会出现在构建文件中,因此筛选到最后,left with 3,205 bug reports (642, 836, 811, 343, and 573 for CXF, Camel, Felix, Struts2, and Tuscany, respectively)。

对于所有的错误报告,人工地去检测它是否是构建过程中出现的错误,最后,identi?ed 121 build process bugs (27, 33, 12, 11, and 38 for CXF, Camel, Felix, Struts2,
and Tuscany, respectively).


S3    EMPIRICAL STUDY RESULTS 实证研究结果

RQ1:构建过程中的错误的严重分布

JIRA在bug report中指定了5中严重等级:Blocker, Critical, Major, Minor, and Trivial.

发现:

  1. 无论是构建错误还是非构建错误,他们导致系统严重问题(级别为Blocker和Critical)的错误数量都相对较少;
  2. 导致系统严重问题(级别为Blocker和Critical)的错误中,构建错误的数量小于非构建错误的数量;

RQ2:BUG修复时间

用两个时间戳来记录fix time

发现:

  1. To ?x a bug, the time effort for a build process bug is around 2.03 times the time required to ?x a non-build bug.(构建错误的维护时间是非构建错误的维护时间的2.03倍)
  2. the mean ?x time of bug reports whose severity levels are either Major, Critical, or Blocker is much longer for build process bugs than for other bugs(严重等级在Major, Critical, or Blocker 的构建错误的平均维护时间要比相应的非构建错误的维护时间要长)

RQ3:修改过的源文件的数量

发现:

  1. the number of source ?les modi?ed for build process bugs is much more than that of non-build bugs(修复构建错误所需要修改的源文件数量远远多余非构建错误)
  2. the number of source ?les modi?ed for bug reports whose severity levels are either Major, Critical, or Blocker is much more for build

process bugs than for other bugs, (严重等级在Major, Critical, or Blocker的构建错误修复所需的源文件数量远远大于非构建错误)

实证研究结果的有效性

由于有些过程是人工检测的,所以难免会有一些错误

时间: 2024-08-26 07:55:53

【软件分析与挖掘】An Empirical Study of Bugs in Build Process的相关文章

【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction

摘要: 利用软件中的历史缺陷数据来建立分类器,进行软件缺陷的检测. 多核学习(Multiple kernel learning):把历史缺陷数据映射到高维特征空间,使得数据能够更好地表达: 集成学习(ensemble learning):使用一系列的分类器来减少由主类带来的分类误差,使具有更好的检测结果. 本文采用集成学习的方法构建一个多核分类器,集多核学习和集成学习的优点,提出方法: propose a multiple kernel ensemble learning (MKEL) appr

【软件分析与挖掘】A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction

摘要: 本文主要是评估多种监督机器学习算法的有效性,这些算法用于判断一个错误报告是否是reopened的,算法如下: 7种监督学习算法:kNN,SVM, SimpleLogistic,Bayesian Network, Decision Table, CARTand LWL: 3种集成学习算法: AdaBoost,Bagging and Random Forest. 实验结果表明: 评判的指标:accuracy scores和 F-Measure scores Bagging  and  Dec

【软件分析与挖掘】BOAT: An Experimental Platform for Researchers to Comparatively and Reproducibly Evaluate Bug Localization Techniques

摘要: 目前有许多的bug定位技术,但是,由于他们基于不同的数据集,而且有些数据集还不是公开的,甚至有些技术只应用于小数据集,不具有通用性,因此,不好比较这些技术之间的优劣. 因此,BOAT应运而生.BOAT是指:Bug lOcalization experimental plATform.这是一个web平台,开发者注册之后,可以在这上面上传他们的bug定位技术,因为在这个平台上测试的数据集是相同的,所以与其他的bug定位技术具有可比性. 地址:http://www.vlis.zju.edu.c

【软件分析与挖掘】Vision of Software Clone Management: Past, Present, and Future (Keynote Paper)

abstract: 代码克隆的综述 S1    INTRODUCTION AND MOTIVATION 代码克隆的利弊: 利:可以有效地去耦合,避免其他一些可能的错误: 弊:当被复制的那段code中带有bug的话,他的复制版本中都会含有bug. 但是代码克隆操作又是不可避免的,因此,代码克隆应该得到有效的检测和管理. S2    A SYSTEMATIC REVIEW OF CLONE LITERATURE Robert Tiras搜集了一个从1994~2013的论文库,主要分为以下几类: 1.

必应词典手机版(IOS版)与有道词典(IOS版)之软件分析【功能篇】

1.序言: 随着手机功能的不断更新和推广,手机应用市场的竞争变得愈发激烈.这次我们选择必应词典和有道词典的苹果客户端作对比,进一步分析这两款词典的客户端在功能和用户体验方面的利弊.这次测评的主要评测人是团队PM,另有其他同学给出建议. 2.软件分析与测评: 我们选择的是必应词典(version3.2.2 for ios)和有道词典(version 5.1.2 for ios) 2.1核心功能: 2.1.1词典功能: 众所周知词典的基本功能就是查词,在查词的基础上会给出相应的英文解释,例句以及用法

必应词典桌面版 --- 基于大学生用户群体的软件分析(与有道词典对比版 1功能篇)

1.概述 这篇博客会从大学生的角度来评测必应词典桌面版,以大学生的使用习惯来评判必应词典桌面版各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析评测人员包括软件工程团队人员与他们的来自各个学校各个专业的同学们,人数共计23个,具有较好的普遍性. 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对必应词典桌面版进行分析.必应词典版本:V3.5.0 for windows 桌面版     有道词典版本:PC版6.2 这篇博客是功能篇.

第十团队:软件分析与用户体验分析

第十团队 1.概述 这篇博客会从大学生的角度来评测Microsoft Edge浏览器,以大学生的使用习惯来评判Microsoft Edge浏览器各项功能的优劣,并与同类软件进行横向分析,最终给出我们的评分.本次分析评测的主要评测员为博主本人,相关分析评测人员包括软件工程团队人员与他们的来自各个学校各个专业的同学们,人数共计23个,具有较好的普遍性. 目标用户:大学生 人数:23人 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对Microsoft Edge浏览器和QQ浏览器进行分析.

第9组 软件分析与用户体验分析

必应输入法桌面版--基于大学生用户群体的软件评测与分析(与搜狗输入法对比版 ) 1.概述 这篇博客会从大学生的角度来评测必应输入法桌面版,以大学生的使用习惯来评判必应输入法桌面版和搜狗输入法桌面版,最终给出我们的评分.调研人数:7人,调查为卷的形式 2.软件分析与评测 本次评测我们会从功能.体验两大方面来对必应输入法桌面版进行分析.必应输入法:1698.04 for windows 桌面版     有道词典版本:9.2.0.2785 windows桌面版 2.1 功能 1.地名输入: 必应输入法

Everspin串口串行mram演示软件分析

Everspin在磁存储器设计,制造和交付给相关应用方面的知识和经验在半导体行业中是独一无二的.在平面内和垂直磁隧道结(MTJ)STT-MRAM位单元的开发方面处于市场领先地位.包括40nm,28nm及更高工艺在内的先进技术节点上进行了全包交钥匙的300mm大批量平面内和垂直MTJ ST-MRAM生产.生产基于180nm,130nm和90nm工艺技术节点的MRAM产品.下面要介绍关于everspin公司MRAM演示软件分析 everspin公司MRAM演示软件分析 MRAM低级驱动程序通过操作系