English
Related papers

Related papers: NoFAQ: Synthesizing Command Repairs from Examples

200 papers

In this paper, we first collect and track a large number of fixed and unfixed violations across revisions of software. The empirical analyses reveal that there are discrepancies in the distributions of violations that are detected and those…

Software Engineering · Computer Science 2018-10-10 Kui Liu , Dongsun Kim , Tegawendé F. Bissyandé , Shin Yoo , Yves Le Traon

We propose a method combining machine learning with a static analysis tool (i.e. Infer) to automatically repair source code. Machine Learning methods perform well for producing idiomatic source code. However, their output is sometimes…

Software Engineering · Computer Science 2023-04-24 Ruba Mutasim , Gabriel Synnaeve , David Pichardie , Baptiste Rozière

Code reviews are central for software quality assurance. Ideally, reviewers should explain their feedback to enable authors of code changes to understand the feedback and act accordingly. Different developers might need different…

Software Engineering · Computer Science 2024-10-11 Ratnadira Widyasari , Ting Zhang , Abir Bouraffa , Walid Maalej , David Lo

Millions of open-source projects with numerous bug fixes are available in code repositories. This proliferation of software development histories can be leveraged to learn how to fix common programming bugs. To explore such a potential, we…

Software Engineering · Computer Science 2019-05-22 Michele Tufano , Cody Watson , Gabriele Bavota , Massimiliano Di Penta , Martin White , Denys Poshyvanyk

Static analysis tools are traditionally used to detect and flag programs that violate properties. We show that static analysis tools can also be used to perturb programs that satisfy a property to construct variants that violate the…

Detecting and fixing bugs are two of the most important yet frustrating parts of the software development cycle. Existing bug detection tools are based mainly on static analyzers, which rely on mathematical logic and symbolic reasoning…

Computation and Language · Computer Science 2021-10-04 Dawn Drain , Chen Wu , Alexey Svyatkovskiy , Neel Sundaresan

Compilation errors represent a significant bottleneck in software development productivity. This paper introduces WARP (Web-Augmented Real-time Program Repairer), a novel system that leverages Large Language Models (LLMs) and dynamic…

Software Engineering · Computer Science 2025-10-01 Anderson de Lima Luiz

During Automated Program Repair (APR), it can be challenging to synthesize correct patches for real-world systems in general-purpose programming languages. Recent Large Language Models (LLMs) have been shown to be helpful "copilots" in…

Software Engineering · Computer Science 2023-11-10 Yuxiang Wei , Chunqiu Steven Xia , Lingming Zhang

Prompting foundation models (FMs) like large language models (LLMs) have enabled new AI-powered software features (e.g., text summarization) that previously were only possible by fine-tuning FMs. Now, developers are embedding prompts in…

Software Engineering · Computer Science 2025-07-24 Jenny T. Liang , Chenyang Yang , Agnia Sergeyuk , Travis D. Breaux , Brad A. Myers

Several decision problems that are encountered in various business domains can be modeled as mathematical programs, i.e. optimization problems. The process of conducting such modeling often requires the involvement of experts trained in…

Artificial Intelligence · Computer Science 2023-04-10 Ganesh Prasath , Shirish Karande

Issue tracking systems serve as the primary tool for incorporating external users and customizing a software project to meet the users' requirements. However, the limited number of contributors and the challenge of identifying the best…

Software Engineering · Computer Science 2024-02-07 Joy Krishan Das , Saikat Mondal , Chanchal K. Roy

As part of the process of resolving issues submitted by users via bug reports, Android developers attempt to reproduce and observe the failures described by the bug report. Due to the low-quality of bug reports and the complexity of modern…

Software Engineering · Computer Science 2023-01-20 Zhaoxu Zhang , Robert Winn , Yu Zhao , Tingting Yu , William G. J. Halfond

Developers rely on build systems to generate software from code. At a minimum, a build system should produce build targets from a clean copy of the code. However, developers rarely work from clean checkouts. Instead, they rebuild software…

Programming Languages · Computer Science 2021-09-03 Charlie Curtsinger , Daniel W. Barowy

It is necessary to gather real refactoring instances while conducting empirical studies on refactoring. However, existing refactoring detection approaches are insufficient in terms of their accuracy and coverage. Reducing the manual effort…

Software Engineering · Computer Science 2021-05-20 Ryo Kuramoto , Motoshi Saeki , Shinpei Hayashi

Natural language-driven no-code development allows users to specify software functionality using natural language (NL) instead of editing source code, promising increased productivity and democratized development. Large language models…

Software Engineering · Computer Science 2025-08-19 Le Deng , Zhonghao Jiang , Jialun Cao , Michael Pradel , Zhongxin Liu

Large Language Models for Code (LLM4Code) have become an integral part of developers' workflows, assisting with tasks such as code completion and generation. However, these models are found to exhibit undesired behaviors after their…

Software Engineering · Computer Science 2024-11-07 Zhou Yang , David Lo

Commit messages are a valuable resource in comprehension of software evolution, since they provide a record of changes such as feature additions and bug repairs. Unfortunately, programmers often neglect to write good commit messages.…

Software Engineering · Computer Science 2017-09-01 Siyuan Jiang , Ameer Armaly , Collin McMillan

Recent In-IDE AI coding assistant tools (ACATs) like GitHub Copilot have significantly impacted developers' coding habits. While some studies have examined their effectiveness, there lacks in-depth investigation into the actual assistance…

Software Engineering · Computer Science 2024-04-25 Xin Tan , Xiao Long , Xianjun Ni , Yinghao Zhu , Jing Jiang , Li Zhang

Static analysis tools are widely used to detect bugs, vulnerabilities, and code smells. Traditionally, developers must resolve these warnings manually. Because this process is tedious, developers sometimes ignore warnings, leading to an…

Software Engineering · Computer Science 2026-04-14 Pascal Joos , Islem Bouzenia , Michael Pradel

Existing evaluation benchmarks of language models of code (code LMs) focus almost exclusively on whether the LMs can generate functionally-correct code. In real-world software engineering, developers think beyond functional correctness.…

Software Engineering · Computer Science 2024-10-01 Manav Singhal , Tushar Aggarwal , Abhijeet Awasthi , Nagarajan Natarajan , Aditya Kanade