The Basic Expeirmental Benchmark for Alignment Slicing

This benchmark consists of all ten regressions in the evaluation of our paper titled “Explaining Regressions via Alignment Slicing”. The following table lists the detailed information about these ten regressions.

Name LoC Pp Pf Fixes Regression Description Report Sites
find-a 24k 4.2.15 4.2.18 4.2.19 Using -L/-H produces wrong output http://savannah.gnu.org/bugs/?12181
find-b 40k 4.3.5 4.3.6 4.3.7 Using -mtime produces wrong output http://savannah.gnu.org/bugs/?20005
find-c 40k 4.3.5 4.3.6 4.5.10 Using -size produces error message http://savannah.gnu.org/bugs/?30180
make 23k 3.80 3.81 3.82 Using -r produces wrong output http://savannah.gnu.org/bugs/?20006
bc 10k 1.05a 1.06 1.06r6 Argument processing error http://bugs.gentoo.org/show_bug.cgi?id=515256
diff 20k 2.8.1 2.9.2 2.9.3 Adds additional newline http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577832
grep 6k 2.5.4 2.6 Fixes are in report site Using -include produces wrong output http://savannah.gnu.org/bugs/?29876
indent 15k 2.2.9 2.2.10 2.2.11 Adds too many newlines http://savannah.gnu.org/bugs/?27036
tar 21k 1.13.25 1.13.90 Fixes are in report Wrong uid display http://lists.gnu.org/archive/html/bug-tar/2004-10/msg00034.html
ls 87k 6.7 6.8 Fixes are in report Using -x produces wrong output http://lists.gnu.org/archive/html/bug-coreutils/2007-04/msg00000.html

The benchmark can be downloaded here, and further details are described in the Readme file contained in the downloaded package.

The Dynamic Binary Analysis Framework Pin

The dynamic binary analysis framework Pin is used to monitor the execution of the program. We can easily obtain the execution information through Pin, such as the execution trace, the variables in each statement, and so on.

The main source codes are in the directory ./source/tools/MyPinTool. Their functionalities list as follows:

The tool Pin can be downloaded here, and further details are described in the Readme file contained in the downloaded package.

The Prototype Tool of Alignment Slicing

This project is used to conduct alignment slicing based on the information obtained in the Pin project. The input of the project is the experimental program name. The main source codes list as follows:

The tool can be downloaded here, and further details are described in the Readme file contained in the downloaded package.

A case studies about explaining the regression via alignment slicing can be downloaded here. In the future, we will add more case studies for alignment slicing.

Because our paper is under review, maybe we do not provide all details of our benchmarks and prototype tools. If there is any problem with the usage, please contact with Tingliu@mail.xjtu.edu.cn or hjwang@sei.xjtu.edu.