遇见数据集

Artifacts of PEARL

收藏
Zenodo2022-01-21 更新2026-05-25 收录
数据链接:
官方服务:

资源简介:

This repository contain the artifacts of a paper titled "Program Repair as a Code Completion Problem: Addressing the Challenge of Accurately Locating Fine-Grained Buggy Code Elements" under review by ICSE'21. The files <strong>prediction_CoCoNut.csv</strong> and <strong>prediction_ManySStuBs4J.csv</strong> illustrate the prediction results of <strong>BEP</strong> on the two datasets, in which the column <em>element_Rank</em> shows the ranking of buggy element and the column <em>rank</em> is for operation path. The file <strong>Pipeline_Results.zip</strong> contains the results of our repair pipeline on the 111 single-token bugs. In each folder, <em>rem.txt</em> corresponds to the buggy line, <em>add.txt</em> corresponds to the correct line, and <em>context.txt</em> corresponds to the whole buggy method. These three files are required inputs for each prediction. <em>query.txt</em> is the content sent to <em>AnyCodeGen </em>and the returned code fragment is stored in <em>result.txt</em>. We also open the cleaned dataset of ManySStuBs4J which only contains single-token bugs in <strong>Single-token_bugs_in_ManySStuBs4J.zip</strong>. In this file, each bug is corresponding to three lines with the same line number in three different files which are <em>rem.txt</em>, <em>add.txt</em>, and <em>context.txt</em>, respectively representing the buggy line, correct line, and the buggy method. This storage style follows the training set of CoCoNut. Note that we do not release our pre-processed dataset of CoCoNut sinse it is too large. We encourage researchers to process this dataset based on their own needs. Moreover, we do provide the script we used for selecting single-token bugs which is <strong>single-token_selection.py</strong>. We also note there is no visual interface for the newly added bugs in Defects4J-V2.0. We thus provide our script for selecting single-token bugs (<strong>getSingle-token_bugs_from_D4J.py</strong>) from these bugs, making it easy for others to reproduce our experiment. <strong>Case Study:</strong> <strong>PEARL</strong> does not work well on method name-related fix. For the following bug (Closure-10), our BEP model successfully predicts the oracle operation path as No.2. <pre><code class="language-java">- return allResultsMatch(n, MAY_BE_STRING_PREDICATE); + return anyResultsMatch(n, MAY_BE_STRING_PREDICATE);</code></pre> Nonetheless, we have to change this statement into "<strong>return ??</strong>" when querying <strong>AnyCodeGen</strong> due to the format restriction of it. Unfortunately, <strong>AnyCodeGen</strong> cannot synthesize such a detailed method call, thus leading to the failure of PEARL of repairing this bug. The source code of <strong>PEARL</strong> will be open-access upon acceptance.

提供机构:
Zenodo
创建时间:
2020-08-20
二维码
社区交流群
二维码
科研交流群
商业服务