SANER 2018 论文阅读- Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4J

版权声明:如需转载或引用,请注明出处。 https://blog.csdn.net/weixin_39278265/article/details/82834334

Foreword

This blog aims at explaining the SANER 2018 paper - “Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4J”.

1 basic info of authors

Victor Sobreira∗, Thomas Durieuxy, Fernanda Madeiral∗, Martin Monperrusz, and Marcelo de Almeida Maia∗

Mr. Monperrus is well known in this area.

2 Abstract

The value of the dataset:

Well-designed and publicly available datasets of
bugs are an invaluable asset to advance research fields such
as fault localization and program repair as they allow directly
and fairly comparison between competing techniques and also
the replication of experiments.

That’s true. I agree with this point, as a dataset is definitely important for researchers.

The problem that current datasets face:

These datasets need to be deeply understood by researchers: the answer for questions like “which bugs can my technique handle?” and “for which bugs is my technique effective?” depends on the comprehension of properties related to bugs and their patches. However, such properties are usually not included in the datasets, and there is still no widely adopted methodology for characterizing bugs and patches.

  1. However, such properties are still not included/shown in current datasets.
  2. There is still no widely adopted methodology for characterizing bugs and patches.

The methods involved in this work:

Quantitative properties (patch size and spreading) were automatically extracted, whereas qualitative ones (repair actions and patterns) were manually extracted using a thematic analysisbased approach.

thematic
adj. [usually before noun] 题目的;主题的;专题的
connected with the theme or themes of sth

Findings:

We found that 1) the median size of Defects4J
patches is four lines, and almost 30% of the patches contain
only addition of lines; 2) 92% of the patches change only one
file, and 38% has no spreading at all; 3) the top-3 most applied
repair actions are addition of method calls, conditionals, and
assignments, occurring in 77% of the patches; and 4) nine repair
patterns were found for 95% of the patches, where the most
prevalent, appearing in 43% of the patches, is on conditional
blocks. These results are useful for researchers to perform
advanced analysis on their techniques’ results based on Defects4J.
Moreover, our set of properties can be used to characterize and
compare different bug datasets.

These finding are definitely useful.

  1. conditional bugs are prevalent.
  2. different datasets can be compared through the methods proposed in this paper.

3 introduction

Bug fixing is a hard and time-consuming task as it involves debugging, i.e., the process of identifying and correcting the root cause of a failure [1]

讲真,看到很多次作者 把as放在句子的后半段了。感觉没毛病的,放心用。

Researchers in fault localization and program repair fields
need detailed information on the datasets they use: 1) to only
select bugs that have the required properties according to the
technique under consideration (sampling and inclusion criteria), and 2) to perform advanced analysis of the performance of
the newly proposed techniques depending on certain properties
of the bugs or patches (correlation analysis)

说实话,这一段我就写不出来,因为我没有达到作者这种程度,我想不到这一块,也没发设身处地站在researchers in fault localization and program repair的角度思考,感觉自己还不够吧。

4 research questions:

RQ #1: Patch size by number of added, removed and modified lines;
RQ #2: Patch spreading by number of lines between chunks and by number of modified files, classes and methods;
RQ #3: Prevalence of repair actions over code elements (e.g. method call addition);
RQ #4: Prevalence of repair patterns (e.g. wraps-with if).

prevalence
英 ['prevələns] 美 [ˈprɛvələns]
n. 流行;盛行;普遍;(疾病等的)流行程度

consolidated
英 [kən’sɒlɪdeɪtɪd] 美 [kən’sɒləˌdeɪtɪd]
n. 加固的,整理过的,统一的
adj. 团结的,统一的 v. (使)巩固, (使)加强( consolidate的过去式和过去分词 );(使)合并

4 data collection

The result data is extracted based on a diff view:

For each bug, we first produced a diff view between the
buggy program version and its associated fixed version. We
used these views as source for data extraction and analysis,
and they are available through hyper-links when patches are
cited in this paper. Data collection procedures to answer each
research question are described below.

5 结论

Our findings have important implications for those interested in the usage of bug datasets: Defects4J is an appropriate
dataset to program repair research; repair based on addition
of code should receive as much attention as repair based on
modification of code; multi-point program repair is not just
a trend but a need for proposed techniques; single file repair
responds to the most part of bugs in Defects4J; automatic patch
generation can rely on high prevalence of repair actions (e.g.
Method Call Addition) and patterns (e.g. Conditional Block)
found. This study is to help researchers to take better and
informed decisions around bug dataset choice and comparison.

Our findings have important implications for those interested in the usage of bug datasets:

这句话写的很好

6 特色

这篇文章用了很多很多图表,箱线图,柱状图,表格,还有 圆形辐射图?韦恩图。

感觉很酷吧,这个还是要实验功底的。

小结

发现自己最近有点静不下心来看论文,我最多看到摘要,introduction的时候就没耐心了。。。

这不是一个好习惯诶。

猜你喜欢

转载自blog.csdn.net/weixin_39278265/article/details/82834334