-
Notifications
You must be signed in to change notification settings - Fork 1
yyxhdy/SeededBugs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Here are two datasets of seeded bugs used in our paper: ''ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming'' These bugs are generated by performing the mutation to the correct version of Math85. The ‘’FData’’ contains 13 seeded bugs F1-F13. For each bug, e.g., F1, there is a folder called F1. The folder F1 contains the following three files: 1) src: the source code of the buggy version 2) target: the binaries of the source code 3) patch.txt: a correct patch for the buggy version The folder ‘’libs’’ contains the dependencies of each buggy program. The ``HData'' contains 5 seeded bugs H1-H5. The folder structure of HData is similar to that of ``FData''. Note that for F1-F13, the mutation is conducted to the redundant statements, so the redundancy-based repair approaches can fix the bugs F1--F5 assuming their search ability is strong enough. So F1--F5 can be used to compare the search ability of different redundancy-based repair approaches. For H1-H3, the mutation is conducted to the statements that do not exist in the buggy program. So they are used to illustrate the effect of type matching strategy presented in our paper. The patch (in patch.txt) is represented as a series of edits. The following is an example: 1 Replace src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java 216 Faulty: ret=-Double.MAX_VALUE; Seed: ret=getMean(); **************************************************************** 2 Delete src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java 138 Faulty: if (x < 0) { return 0; } Seed: **************************************************************** 3 InsertBefore src/main/java/org/apache/commons/math/distribution/NormalDistributionImpl.java 172 Faulty: if (p == 1) { return Double.POSITIVE_INFINITY; } Seed: if (p == 0) { return Double.NEGATIVE_INFINITY; } **************************************************************** There are three edits in this patch. For each edit, this first line contains three kinds of information: the operation types, the java file where the faulty statement locates, and the line number of the faulty statement in the java file. For example, the first edit means that replacing the faulty statement ret=-Double.MAX_VALUE; (line 216 in NormalDistributionImpl.java) with ret=getMean();. The third edit means that inserting if (p == 0) { return Double.NEGATIVE_INFINITY; } before the faulty statement (line 172 in NormalDistributionImpl.java): if (p == 1) { return Double.POSITIVE_INFINITY; }
About
Seeded Bugs
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published