zoukankan      html  css  js  c++  java
  • 【软件分析与挖掘】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.cn/blp.     (不知道是什么原因,不能访问 =.=)


     

    S1   Introduction

           主要介绍动机,和摘要基本相同。


     

    S2   BOAT PLATFORM

            BOAT由3个模块组成:

    image

    • Data Collection Component:运行软件项目,并分析它们的bug跟踪系统和版本控制系统(从中提取日志,并分析每次提交过后,是否修复了相应的bug),BOAT利用正则表达式来判断日志中是否存在bug,如果存在,则从相应的bug跟踪系统中获取bug的细节。BOAT将分组提交,修复相似的bug report。通过这些信息,对于每一个已经提交了的bug report,修复源代码。这些已经提取出来的信息存在数据库中,供BOAT其他的模块使用。注意到,BOAT无需一次性执行大量的工程,它可以不断增加bug report以及相应的buggy文件,因此,BOAT会不断包含更多的report。
    • Local Debugging Component:BOAT支持开发者在他们的本地环境下,执行他们的bug定位程序。目标就是当开发者上传他们的可执行文件时,减少调试的影响。

    image

    • Remote Execution Component:执行上传的可执行文件,通过Data Collection component 提取出来的数据集,并返回结果给开发者。

    image

    与此同时,开发者可以通过一个配置文件来管理BOAT如何执行上传的可执行文件。在这个配置文件中,若干任务被指定。每个任务都指定一个bug定位算法用于执行算法工程。当配置文件设定好之后,remote execution模块将执行被选中的工程中所指定的bug report。开发者将收到一封邮件,告知执行详细情况。如果任务成功执行,则通过几个指标对其优劣程度进行排序。方便开发者之间比较。

    image


    S3   现有的数据集和技术

    6080bug  report

    29 开源系统

    image


    S4   related work

    与TraceLab(追踪实验平台)相比,BOAT有何不同?

    • 目标问题和数据集。TraceLab是一个通用的可回溯回复的平台,主要关注程序代码的连接需求。数据集小。

                                 BOAT关注代码定位,主要搜集bug report;

    • 计算资源支持。为了使用TraceLab,开发者需要下载并安装他们的机器和计算资源。

                                 BOAT为开发者提供计算资源,并管理可执行文件。

    • 支持和评估。为了比较,TraceLab需要提交他们的代码。

                                  BOAT会自动与多种技术进行比较。

    为了满足大规模特征定位基准。基于基准,Xing等人提出Linux kernel,本文的工作与其的不同之处:

    • 实验平台和基准:本文不仅提供一个基准,还提供了一个平台来支持研究人员比较和评估他们的算法;
    • 数据集:Xing等人的数据集主要是文本描述和代码。本文的数据集主要是bug report以及他们修复的bug。

    S6   结论和以后研究方向

    将增加更多的数据集,实现更多的bug定位算法,增加更多的度量方式,并通过BOAT组织比赛。

  • 相关阅读:
    PHPMailer 发送邮件
    Joomla with blog modification
    PHPGD库分类整理
    转 memcache保存php的session 解决多服务器的session问题
    PHP缓存检查
    PHP HMVC框架kohana 小结1
    安装新版ganglia web UI 笔记。
    oracle sqlserver & oracle temp
    db mysql error list / mysql tools / mysql error_list
    oracle sql statement temp
  • 原文地址:https://www.cnblogs.com/XBWer/p/4421724.html
Copyright © 2011-2022 走看看