kth.sePublications KTH
Change search
Link to record
Permanent link

Direct link
Martinez, Matias
Publications (4 of 4) Show all publications
Ye, H., Martinez, M., Luo, X., Zhang, T. & Monperrus, M. (2023). SelfAPR: Self-Supervised Program Repair with Test Execution Diagnostics. In: Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering: . Paper presented at the 37th IEEE/ACM International Conference on Automated Software Engineering. Association for Computing Machinery (ACM)
Open this publication in new window or tab >>SelfAPR: Self-Supervised Program Repair with Test Execution Diagnostics
Show others...
2023 (English)In: Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, Association for Computing Machinery (ACM) , 2023Conference paper, Published paper (Refereed)
Abstract [en]

Learning-based program repair has achieved good results in a recent series of papers. Yet, we observe that the related work fails to repair some bugs because of a lack of knowledge about 1) the application domain of the program being repaired, and 2) the fault type being repaired. In this paper, we solve both problems by changing the learning paradigm from supervised training to self-supervised training in an approach called SelfAPR. First, SelfAPR generates training samples on disk by perturbing a previous version of the program being repaired, enforcing the neural model to capture project-specific knowledge. This is different from the previous work based on mined past commits. Second, SelfAPR executes all training samples and extracts and encodes test execution diagnostics into the input representation, steering the neural model to fix the kind of fault. This is different from the existing studies that only consider static source code as input. We implement SelfAPR and evaluate it in a systematic manner. We generate 1 039 873 training samples obtained by perturbing 17 open-source projects. We evaluate SelfAPR on 818 bugs from Defects4J, SelfAPR correctly repairs 110 of them, outperforming all the supervised learning repair approaches.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2023
Series
ASE ’22
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-323660 (URN)10.1145/3551349.3556926 (DOI)001062775200034 ()2-s2.0-85146336362 (Scopus ID)
Conference
the 37th IEEE/ACM International Conference on Automated Software Engineering
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)
Note

QC 20230214

Available from: 2023-02-08 Created: 2023-02-08 Last updated: 2025-12-05Bibliographically approved
Ye, H., Martinez, M. & Monperrus, M. (2022). Neural Program Repair with Execution-based Backpropagation. In: ICSE '22: Proceedings of the 44th International Conference on Software Engineering: . Paper presented at 44th ACM/IEEE International Conference on Software Engineering, ICSE 2022, Pittsburgh, 22 May 2022, through 27 May 2022 (pp. 1506-1518). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Neural Program Repair with Execution-based Backpropagation
2022 (English)In: ICSE '22: Proceedings of the 44th International Conference on Software Engineering, Association for Computing Machinery (ACM) , 2022, p. 1506-1518Conference paper, Published paper (Refereed)
Abstract [en]

Neural machine translation (NMT) architectures have achieved promising results for automatic program repair. Yet, they have the limitation of generating low-quality patches (e.g., not compilable patches). This is because the existing works only optimize a purely syntactic loss function based on characters and tokens without incorporating program-specific information during neural network weight optimization. In this paper, we propose a novel program repair model called RewardRepair. The core novelty of RewardRepair is to improve NMT-based program repair with a loss function based on program compilation and test execution information, rewarding the network to produce patches that compile and that do not overfit. We conduct several experiments to evaluate RewardRepair showing that it is feasible and effective to use compilation and test execution results to optimize the underlying neural repair model. RewardRepair correctly repairs 207 bugs over four benchmarks. we report on repair success for 121 bugs that are fixed for the first time in the literature. Also, RewardRepair produces up to 45.3% of compilable patches, an improvement over the 39% by the state-of-the-art.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2022
Series
International Conference on Software Engineering, ISSN 0270-5257
National Category
Specific Languages Computer Sciences
Identifiers
urn:nbn:se:kth:diva-316694 (URN)10.1145/3510003.3510222 (DOI)000832185400122 ()2-s2.0-85130298109 (Scopus ID)
Conference
44th ACM/IEEE International Conference on Software Engineering, ICSE 2022, Pittsburgh, 22 May 2022, through 27 May 2022
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)
Note

QC 20221109

Part of proceedings: ISBN 978-145039221-1

Available from: 2022-09-05 Created: 2022-09-05 Last updated: 2023-02-08Bibliographically approved
Ye, H., Martinez, M., Durieux, T. & Monperrus, M. (2019). A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark. In: IBF 2019: 2019 IEEE 1st International Workshop on Intelligent Bug Fixing. Paper presented at 1st IEEE International Workshop on Intelligent Bug Fixing, IBF 2019, Hangzhou, China, Feb 24 2019 (pp. 1-10). Institute of Electrical and Electronics Engineers (IEEE), Article ID 8665475.
Open this publication in new window or tab >>A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark
2019 (English)In: IBF 2019: 2019 IEEE 1st International Workshop on Intelligent Bug Fixing, Institute of Electrical and Electronics Engineers (IEEE) , 2019, p. 1-10, article id 8665475Conference paper, Published paper (Refereed)
Abstract [en]

Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an automatic repair experiment on a benchmark called QuixBugs that has never been studied in the context of program repair. In this study, we report on the characteristics of QuixBugs, and study five repair systems, Arja, Astor, Nopol, NPEfix and RSRepair, which are representatives of generate-and-validate repair techniques and synthesis repair techniques. We propose three patch correctness assessment techniques to comprehensively study overfitting and incorrect patches. Our key results are: 1) 15 / 40 buggy programs in the QuixBugs can be repaired with a test-suite adequate patch; 2) a total of 64 plausible patches for those 15 buggy programs in the QuixBugs are present in the search space of the considered tools; 3) the three patch assessment techniques discard in total 33 / 64 patches that are overfitting. This sets a baseline for future research of automatic repair on QuixBugs. Our experiment also highlights the major properties and challenges of how to perform automated correctness assessment of program repair patches. All experimental results are publicly available on Github in order to facilitate future research on automatic program repair.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2019
National Category
Computer Systems
Identifiers
urn:nbn:se:kth:diva-331879 (URN)10.1109/IBF.2019.8665475 (DOI)000467268600001 ()2-s2.0-85063931398 (Scopus ID)
Conference
1st IEEE International Workshop on Intelligent Bug Fixing, IBF 2019, Hangzhou, China, Feb 24 2019
Note

Part of ISBN 9781728118093

QC 20230921

Available from: 2023-07-17 Created: 2023-07-17 Last updated: 2023-09-21Bibliographically approved
Monperrus, M. (2019). How to make a good open-science repository?.
Open this publication in new window or tab >>How to make a good open-science repository?
Show others...
2019 (English)Report (Other (popular science, discussion, etc.))
National Category
Computer Systems
Identifiers
urn:nbn:se:kth:diva-326168 (URN)
Note

QC 20230426

Available from: 2023-04-25 Created: 2023-04-25 Last updated: 2024-08-20Bibliographically approved
Organisations

Search in DiVA

Show all publications