<pre><strong>Replication package for "Extending the Range of Bugs That Automated Program Repair Can Handle"</strong>
This repository contains the replication package for the paper <br>
<em>Extending the Range of Bugs That Automated Program Repair Can Handle</em><br>Omar I. Al-Bataineh, Leon Moonen and Linas Vidziunas.
Published in the Journal of System and Software (JSS). 2023.
DOI: <a href="https://doi.org/10.1016/j.jss.2023.111918" target="_blank" rel="noopener">10.1016/j.jss.2023.111918</a>
<strong>How to install</strong>
Pull the docker container from DockerHub or build it using the Dockerfile in <br>the project root directory.
<code> docker pull linasvidz/extending-apr</code>
<br><strong>How to run</strong>
<code> docker run -it -w /opt/Bugs/ linasvidz/extending-apr /bin/bash</code>
The docker container already contains the configured buggy projects. <br>The configurations for the termination bugs have been generated by the <br>~Repair/generate_project.sh~ script.
To perform repair on a pre-configured bug, enter the bug's root directory <br>and run the following command:
<code> cd /opt/Bugs/termination/Adding_Subtracting_Zero_1_NT.c && genprog configuration
</code>
<strong>Directory structure</strong>
<code>.
├── Bugs Buggy source code and generated patches
│ ├── performance-elaborate Elaborate performance bug
│ ├── performance-simple Simple performance bug
│ └── termination Termination bugs
├── Repair Source code
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
└── termination.prp Termination property for UAutomizer</code>
<strong>License</strong>
All files in this repository are distributed under the MIT license,
except for the termination bugs in the folder `Bugs/termination`.
These originate from https://github.com/FSE2022benchmarks/termination,
which is distributed under the GPL3 license.
<strong>Citation and Zenodo links</strong>
Please site this work by referring to the paper:
<em>Extending the Range of Bugs That Automated Program Repair Can Handle</em><br>Omar I. Al-Bataineh, Leon Moonen and Linas Vidziunas.
Published in the Journal of System and Software (JSS). 2023.
DOI: <a href="https://doi.org/10.1016/j.jss.2023.111918" target="_blank" rel="noopener">10.1016/j.jss.2023.111918</a></pre>
<pre><code>@article{bataineh2023:extending,
title = {Extending the Range of Bugs That Automated Program Repair Can Handle},
author = {Omar I. {Al-Bataineh} and Moonen, Leon and Vidziunas, Linas}
journal = {Journal of Systems and Software (JSS)},
year = {2023},
pages = {111918},<br> publisher = {Elsevier},
keywords = {automated program repair, bug classification, hybrid techniques, <br> non-observable and liveness bugs},
doi = {10.1016/j.jss.2023.111918},
}</code>
The GitHub repository containing the code to automatically collect the
dataset can be found at <a href="https://github.com/secureIT-project/extendingAPR" target="_blank" rel="noopener">https://github.com/secureIT-project/extendingAPR</a>,
released with DOI: <a href="https://doi.org/10.5281/zenodo.10397656" target="_blank" rel="noopener">10.5281/zenodo.10397656</a>.
</pre><pre><strong>Acknowledgement</strong><br><br>This work has been financially supported by the Research Council of
Norway through the secureIT project (RCN contract #288787).</pre>