English
Related papers

Related papers: NoFAQ: Synthesizing Command Repairs from Examples

200 papers

Despite their unprecedented success, even the largest language models make mistakes. Similar to how humans learn and improve using feedback, previous work proposed providing language models with natural language feedback to guide them in…

Computation and Language · Computer Science 2023-07-13 Afra Feyza Akyürek , Ekin Akyürek , Aman Madaan , Ashwin Kalyan , Peter Clark , Derry Wijaya , Niket Tandon

Most online code snippets do not run. This means that developers looking to reuse code from online sources must manually find and fix errors. We present an approach for automatically evaluating and correcting errors in Node.js code…

Software Engineering · Computer Science 2023-08-24 Brittany Reid , Christoph Treude , Markus Wagner

It is widely recognized that program repair tools need to have a high precision to be useful, i.e., the generated patches need to have a high probability to be correct. However, it is fundamentally difficult to ensure the correctness of the…

Software Engineering · Computer Science 2020-04-28 Jingjing Liang , Ruyi Ji , Jiajun Jiang , Yiling Lou , Yingfei Xiong , Gang Huang

Large Language Models (LLMs) show promise for automated code repair but often struggle with the complex semantic and structural correctness required. We present SynthFix, a hybrid neural-symbolic framework that improves LLM-based…

Software Engineering · Computer Science 2026-04-21 Yifan Zhang , Jieyu Li , Kexin Pei , Yu Huang , Kevin Leach

Automated feedback generation for introductory programming assignments is useful for programming education. Most works try to generate feedback to correct a student program by comparing its behavior with an instructor's reference program on…

Software Engineering · Computer Science 2021-07-01 Umair Z. Ahmed , Zhiyu Fan , Jooyong Yi , Omar I. Al-Bataineh , Abhik Roychoudhury

Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. However, test suites are in essence input-output specifications and are thus typically inadequate for…

Software Engineering · Computer Science 2022-02-03 Zhongxing Yu , Matias Martinez , Benjamin Danglot , Thomas Durieux , Martin Monperrus

Compiler error messages serve as an initial resource for programmers dealing with compilation errors. However, previous studies indicate that they often lack sufficient targeted information to resolve code issues. Consequently, programmers…

Software Engineering · Computer Science 2023-07-21 Patricia Widjojo , Christoph Treude

Software Fault Localization refers to the activity of finding code elements (e.g., statements) that are related to a software failure. The state-of-the-art fault localization techniques, however, produce coarse-grained results that can…

Software Engineering · Computer Science 2021-11-16 Shangwen Wang , Kui Liu , Bo Lin , Li Li , Jacques Klein , Xiaoguang Mao , Tegawendé F. Bissyandé

We present the Code Documentation and Analysis Tool (CoDAT). CoDAT is a tool designed to maintain consistency between the various levels of code documentation, e.g. if a line in a code sketch is changed, the comment that documents the…

Software Engineering · Computer Science 2024-07-17 Paul Attie , Anas Obeidat , Nathaniel Oh , Ian Yelle

Test-based automatic program repair has attracted a lot of attention in recent years. However, the test suites in practice are often too weak to guarantee correctness and existing approaches often generate a large number of incorrect…

Software Engineering · Computer Science 2018-07-30 Yingfei Xiong , Xinyuan Liu , Muhan Zeng , Lu Zhang , Gang Huang

This paper targets the problem of speech act detection in conversations about bug repair. We conduct a "Wizard of Oz" experiment with 30 professional programmers, in which the programmers fix bugs for two hours, and use a simulated virtual…

Software Engineering · Computer Science 2018-07-05 Andrew Wood , Paige Rodeghero , Ameer Armaly , Collin McMillan

The lack of comprehensive sources of accurate vulnerability data represents a critical obstacle to studying and understanding software vulnerabilities (and their corrections). In this paper, we present an approach that combines heuristics…

Software Engineering · Computer Science 2025-03-18 Daan Hommersom , Antonino Sabetta , Bonaventura Coppola , Dario Di Nucci , Damian A. Tamburri

Formal verification of a software system relies on formalising the requirements to which it should adhere, which can be challenging. While formalising requirements from natural-language, we have dependencies that lead to duplication of…

Software Engineering · Computer Science 2022-02-14 Matt Luckcuck , Marie Farrell , Oisín Sheridan

Fuzzing -- testing programs with random inputs -- has become the prime technique to detect bugs and vulnerabilities in programs. To generate inputs that cover new functionality, fuzzers require execution feedback from the program -- for…

Software Engineering · Computer Science 2020-12-29 Rahul Gopinath , Bachir Bendrissou , Björn Mathis , Andreas Zeller

Token-inconsistency bugs (TIBs) involve the misuse of syntactically valid yet incorrect code tokens, such as misused variables and erroneous function invocations, which can often lead to software bugs. Unlike simple syntactic bugs, TIBs…

Cryptography and Security · Computer Science 2025-10-14 Hongbo Chen , Yifan Zhang , Xing Han , Tianhao Mao , Huanyao Rong , Yuheng Zhang , XiaoFeng Wang , Luyi Xing , Xun Chen , Hang Zhang

Static analyzers can reason about the properties and behaviors of programs and detect various issues without executing them. Hence, they should extract the necessary information to understand the analyzed program well. Annotation has been a…

Software Engineering · Computer Science 2024-02-23 Huaien Zhang , Yu Pei , Shuyun Liang , Shin Hwei Tan

Developers use logging statements to track software runtime behaviors and system status. Yet, unclear or misleading logs can hide true execution patterns and hinder software maintenance. Current research on logging statement issues is…

Software Engineering · Computer Science 2025-04-23 Renyi Zhong , Yichen Li , Jinxi Kuang , Wenwei Gu , Yintong Huo , Michael R. Lyu

This work is motivated by the pervasive use of method invocations in object-oriented (OO) programs, and indeed their prevalence in patches of OO-program bugs. We propose a generate-and-validate repair technique, called ELIXIR designed to be…

Software Engineering · Computer Science 2021-12-22 Ripon K. Saha , Yingjun Lyu , Hiroaki Yoshida , Mukul R. Prasad

This paper explores the limits of the current generation of large language models for program synthesis in general purpose programming languages. We evaluate a collection of such models (with between 244M and 137B parameters) on two new…

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

Software Engineering · Computer Science 2024-03-11 Ivan Tan , Christopher M. Poskitt