This website is a community-driven effort to provide up-to-date automated program repair bibliography, and links to publicly available tools and benchmarks.
The bibliography section lists publications on automated program repair that are
- peer-reviewed;
- designed/evaluated for program repair.
The bibliographic records on this website are automatically extracted from dblp.org.
The tools/benchmarks sections list only tools/benchmarks that
- have corresponding publications in the bibliography section;
- are publicly available;
- are designed/evaluated for program repair.
The website hosts community pages — static webpages that present some useful information about program repair, e.g. visualise experiments. If you would like to maintain a community page under program-repair.org, please create an issue.
The easiest way to contribute is to submit a new publication/tool/benchmark via GitHub issues. When submitting an issue, please provide the puiblication's DBLP key. To obtain the DBLP key, find the publication on dblp.org, and hover your mouse over "export record". To submit a new tool or benchmark, please provide the DBLP key of its corresponding publication. Note that publications appear on DBLP with a delay.
Alternatively, you can create a pull request. For that, you need to add your data into program-repair.org's database stored in the data
directory, and then regenerate the website. Note that when making simple changes, you can skip regenerating the website, because it will be done automatically by GitHub actions, but generally we recommend regenerating website to test your changes before creating a PR. If you want to verify your modifications locally, please:
- install Python 3 and dependencies (e.g.
pip3 install -r requirements.txt
); - run build script (e.g.
python3 build.py
); - open
index.html
in your browser to verify your modifications.
Mainteners routinary check for new program repair papers that appear in the venues below:
SE journals:
- Transactions on Software Engineering (TSE)
- Transactions on Software Engineering and Methodology (TOSEM)
- Empirical Software Engineering (EMSE)
SE conferences:
- International Conference on Software Engineering (ICSE)
- Conference on the Foundations of Software Engineering (FSE)
- International Conference on Automated Software Engineering (ASE)
- International Symposium on Software Testing and Analysis (ISSTA)
- International Conference on Software Analysis, Evolution, and Reengineering (SANER)
- International Conference on Software Testing, Verification, and Validation (ICST)
- Working Conference on Mining Software Repositories (MSR)
PL conferences:
- Symposium on Programming Language Design and Implementation (PLDI)
- Symposium on Principles of Programming Languages (POPL)
- International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
- European Conference on Object-Oriented Programming (ECOOP)
FM conferences:
- International Conference on Computer Aided Verification (CAV)
- International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS)
ML conferences:
- International Conference on Machine Learning (ICML)
- International Conference on Learning Representations (ICLR)
Workshops: