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 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.
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 email@example.com.