diff --git a/README.md b/README.md index dbc10da..adb465a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Learn2Fix Learn2Fix is a human-in-the-loop automatic repair technique for programs that take numeric inputs. Given a test input that reproduces the bug, Learn2Fix uses mutational fuzzing to generate alternative test inputs, and presents some of those to the human to ask whether they also reproduce the bug. Meanwhile, Learn2Fix uses the [Incal](https://github.com/ML-KULeuven/incal) constraint learning tool to construct a Satisfiability Modulo Linear Real Arithmetic SMT(LRA) constraint that is satisfied only by test inputs labeled as reproducing the bug. SMT provides a natural representation of program semantics and is a fundamental building block of symbolic execution and semantic program repair. The learned SMT constraint serves as an automatic bug oracle that can predict the label of new test inputs. Iteratively, the oracle is trained to predict the user’s responses with increasing accuracy. Using the trained oracle, the user can be asked more strategically. The key challenge that Learn2Fix addresses is to maximize the oracle’s accuracy, given only a limited number of queries to the user. -* You can find the technical details in our ICST'20 paper: https://mboehme.github.io/paper/ICST20.pdf +* You can find the technical details in our ICST'20 paper: https://arxiv.org/abs/1912.07758 * To cite our paper, you can use the following bibtex entry: ```bibtex @inproceedings{learn2fix,