Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleDecember 2024JUST ACCEPTED
Automatic Programming: Large Language Models and Beyond
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3708519Automatic programming has seen increasing popularity due to the emergence of tools like GitHub Copilot which rely on Large Language Models (LLMs). At the same time, automatically generated code faces challenges during deployment due to concerns around ...
- research-articleDecember 2024JUST ACCEPTED
Vulnerability Repair via Concolic Execution and Code Mutations
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3707454Security vulnerabilities detected via techniques like greybox fuzzing are often fixed with a significant time lag. This increases the exposure of the software to vulnerabilities. Automated fixing of vulnerabilities where a tool can generate fix ...
- research-articleNovember 2024JUST ACCEPTED
ROSE: An IDE-Based Interactive Repair Framework for Debugging
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3705306Debugging is costly. Automated program repair (APR) holds the promise of reducing its cost by automatically fixing errors. However, current techniques are not easily applicable in a realistic debugging scenario because they assume a high-quality test ...
- research-articleNovember 2024JUST ACCEPTED
EffFix: Efficient and Effective Repair of Pointer Manipulating Programs
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3705310This work introduces EffFix, a tool that applies a novel static analysis-driven Automated Program Repair (APR) technique for fixing memory errors. APR tools typically rely on a given test-suite to guide the repair process. Apart from the need to provide ...
- research-articleNovember 2024JUST ACCEPTED
Patch Correctness Assessment: A Survey
ACM Transactions on Software Engineering and Methodology (TOSEM), Just Accepted https://doi.org/10.1145/3702972Most automated program repair methods rely on test cases to determine the correctness of the generated patches. However, due to the incompleteness of available test suites, some patches that pass all the test cases may still be incorrect. This issue is ...
-
- ArticleSeptember 2024
Towards Minimal Edits in Automated Program Repair: A Hybrid Framework Integrating Graph Neural Networks and Large Language Models
Artificial Neural Networks and Machine Learning – ICANN 2024Pages 402–416https://doi.org/10.1007/978-3-031-72344-5_27AbstractLarge Language Models trained on Code (LLMCs) have been shown to be effective in Automated Program Repair (APR) tasks, introducing new innovations to the field. Typically, LLMCs do not engage in error localization for APR tasks, instead treating ...
- research-articleSeptember 2024
Learning the Effects of Software Changes
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1886–1890https://doi.org/10.1145/3650212.3685550Software development requires several stages of code iterations, each one requiring debugging, testing, localizing and fixing bugs. While several tools have been developed to automate one of those tasks individually, integrating and combining those ...
One Size Does Not Fit All: Multi-granularity Patch Generation for Better Automated Program Repair
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1554–1566https://doi.org/10.1145/3650212.3680381Automated program repair aims to automate bug correction and alleviate the burden of manual debugging, which plays a crucial role in software development and maintenance. Recent studies reveal that learning-based approaches have outperformed conventional ...
- research-articleSeptember 2024
ThinkRepair: Self-Directed Automated Program Repair
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1274–1286https://doi.org/10.1145/3650212.3680359Though many approaches have been proposed for Automated Program Repair (APR) and indeed achieved remarkable performance, they still have limitations in fixing bugs that require analyzing and reasoning about the logic of the buggy program. Recently, large ...
- research-articleSeptember 2024
Automated Program Repair via Conversation: Fixing 162 out of 337 Bugs for $0.42 Each using ChatGPT
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 819–831https://doi.org/10.1145/3650212.3680323Automated Program Repair (APR) aims to automatically generate patches for buggy programs. Traditional APR techniques suffer from a lack of patch variety as they rely heavily on handcrafted or mined bug fixing patterns and cannot easily generalize to ...
- research-articleJuly 2024
ProveNFix: Temporal Property-Guided Program Repair
Proceedings of the ACM on Software Engineering (PACMSE), Volume 1, Issue FSEArticle No.: 11, Pages 226–248https://doi.org/10.1145/3643737Model checking has been used traditionally for finding violations of temporal properties. Recently, testing or fuzzing approaches have also been applied to software systems to find temporal property violations. However, model checking suffers from state ...
- research-articleJuly 2024
The Patch Overfitting Problem in Automated Program Repair: Practical Magnitude and a Baseline for Realistic Benchmarking
FSE 2024: Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software EngineeringPages 452–456https://doi.org/10.1145/3663529.3663776Automated program repair techniques aim to generate patches for software bugs, mainly relying on testing to check their validity. The generation of a large number of such plausible yet incorrect patches is widely believed to hinder wider application of ...
GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code Repair
SLE 2023: Proceedings of the 16th ACM SIGPLAN International Conference on Software Language EngineeringPages 111–124https://doi.org/10.1145/3623476.3623522Type systems are responsible for assigning types to terms in programs. That way, they enforce the actions that can be taken and can, consequently, detect type errors during compilation. However, while they are able to flag the existence of an error, ...
- research-articleJuly 2023
How Effective Are Neural Networks for Fixing Security Vulnerabilities
ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1282–1294https://doi.org/10.1145/3597926.3598135Security vulnerability repair is a difficult task that is in dire need of automation. Two groups of techniques have shown promise: (1) large code language models (LLMs) that have been pre-trained on source code for tasks such as code completion, and (...
Automated Program Repair from Fuzzing Perspective
ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 854–866https://doi.org/10.1145/3597926.3598101In this work, we present a novel approach that connects two closely-related topics: fuzzing and automated program repair (APR). The paper is divided into two parts. In the first part, we describe the similarities between fuzzing and APR both of which ...
MultIPAs: applying program transformations to introductory programming assignments for data augmentation
ESEC/FSE 2022: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 1657–1661https://doi.org/10.1145/3540250.3558931There has been a growing interest, over the last few years, in the topic of automated program repair applied to fixing introductory programming assignments (IPAs). However, the datasets of IPAs publicly available tend to be small and with no valuable ...
- research-articleNovember 2022
Less training, more repairing please: revisiting automated program repair via zero-shot learning
ESEC/FSE 2022: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 959–971https://doi.org/10.1145/3540250.3549101Due to the promising future of Automated Program Repair (APR), researchers have proposed various APR techniques, including heuristic-based, template-based, and constraint-based techniques. Among such classic APR techniques, template-based techniques ...
Seq2Parse: neurosymbolic parse error repair
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue OOPSLA2Article No.: 167, Pages 1180–1206https://doi.org/10.1145/3563330We present Seq2Parse, a language-agnostic neurosymbolic approach to automatically repairing parse errors. Seq2Parse is based on the insight that Symbolic Error Correcting (EC) Parsers can, in principle, synthesize repairs, but, in practice, are ...
- short-paperJanuary 2023
Shibboleth: Hybrid Patch Correctness Assessment in Automated Program Repair
ASE '22: Proceedings of the 37th IEEE/ACM International Conference on Automated Software EngineeringArticle No.: 166, Pages 1–4https://doi.org/10.1145/3551349.3559519Test-based generate-and-validate automated program repair (APR) systems generate many patches that pass the test suite without fixing the bug. The generated patches must be manually inspected by the developers, a task that tends to be time-consuming, ...
- research-articleJanuary 2023
Keeping Secrets: Multi-objective Genetic Improvement for Detecting and Reducing Information Leakage
ASE '22: Proceedings of the 37th IEEE/ACM International Conference on Automated Software EngineeringArticle No.: 61, Pages 1–12https://doi.org/10.1145/3551349.3556947Information leaks in software can unintentionally reveal private data, yet they are hard to detect and fix. Although several methods have been proposed to detect leakage, such as static verification-based approaches, they require specialist knowledge, ...