English
Related papers

Related papers: TraceFixer: Execution Trace-Driven Program Repair

200 papers

Software debugging, and program repair are among the most time-consuming and labor-intensive tasks in software engineering that would benefit a lot from automation. In this paper, we propose a novel automated program repair approach based…

Software Engineering · Computer Science 2021-04-01 Ehsan Mashhadi , Hadi Hemmati

As programmers write code, they often edit and retry multiple times, creating rich "interaction traces" that reveal how they approach coding tasks and provide clues about their level of skill development. For novice programmers in…

Machine Learning · Computer Science 2026-04-16 Alexis Ross , Megha Srivastava , Jeremiah Blanchard , Jacob Andreas

Providing feedback is an integral part of teaching. Most open online courses on programming make use of automated grading systems to support programming assignments and give real-time feedback. These systems usually rely on test results to…

Software Engineering · Computer Science 2019-05-30 Rahul Gupta , Aditya Kanade , Shirish Shevade

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

Software development life cycle is profoundly influenced by bugs: their introduction, identification, and eventual resolution account for a significant portion of software cost. This has motivated software engineering researchers and…

Software Engineering · Computer Science 2023-03-14 Matthew Jin , Syed Shahriar , Michele Tufano , Xin Shi , Shuai Lu , Neel Sundaresan , Alexey Svyatkovskiy

The execution of concurrent programs generally involves some degree of nondeterminism, mostly due to the relative speeds of the concurrent processes. As a consequence, reproducibility is often challenging. This problem has been…

Programming Languages · Computer Science 2021-08-27 Juan José González-Abril , Germán Vidal

Backtracking (i.e., reverse execution) helps the user of a debugger to naturally think backwards along the execution path of a program, and thinking backwards makes it easy to locate the origin of a bug. So far backtracking has been…

Programming Languages · Computer Science 2013-09-23 Jooyong Yi

Automatic program repair holds the potential of dramatically improving the productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning, and…

Software Engineering · Computer Science 2021-09-24 Hossein Hajipour , Apratim Bhattacharyya , Cristian-Alexandru Staicu , Mario Fritz

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

Code execution is a fundamental aspect of programming language semantics that reflects the exact behavior of the code. However, most pre-trained models for code intelligence ignore the execution trace and only rely on source code and…

Programming Languages · Computer Science 2023-05-10 Chenxiao Liu , Shuai Lu , Weizhu Chen , Daxin Jiang , Alexey Svyatkovskiy , Shengyu Fu , Neel Sundaresan , Nan Duan

Fault localization is a fundamental aspect of debugging, aiming to identify code regions likely responsible for failures. Traditional techniques primarily correlate statement execution with failures, yet program behavior is influenced by…

Software Engineering · Computer Science 2025-02-27 Marius Smytzek , Martin Eberlein , Lars Grunske , Andreas Zeller

Providing personalized and timely feedback for student's programming assignments is useful for programming education. Automated program repair (APR) techniques have been used to fix the bugs in programming assignments, where the Large…

Computers and Society · Computer Science 2024-10-30 Fang Liu , Zhenwei Liu , Qianhui Zhao , Jing Jiang , Li Zhang , Ge Li , Zian Sun , Zhongqi Li , Yuchi Ma

Context: Learning-based automatic program repair techniques are showing promise to provide quality fix suggestions for detected bugs in the source code of the software. These tools mostly exploit historical data of buggy and fixed code…

Software Engineering · Computer Science 2020-10-07 Faria Huq , Masum Hasan , Mahim Anzum Haque Pantho , Sazan Mahbub , Anindya Iqbal , Toufique Ahmed

Concurrent programs are difficult to test due to their inherent non-determinism. To address this problem, testing often requires the exploration of thread schedules of a program; this can be time-consuming when applied to real-world…

Software Engineering · Computer Science 2018-04-11 Tingting Yu , Wei Wen , Xue Han , Jane Hayes

We present a new program synthesis approach that combines an encoder-decoder based synthesis architecture with a differentiable program fixer. Our approach is inspired from the fact that human developers seldom get their program correct on…

Machine Learning · Statistics 2020-06-22 Matej Balog , Rishabh Singh , Petros Maniatis , Charles Sutton

Automated Program Repair (APR) helps improve the efficiency of software development and maintenance. Recent APR techniques use deep learning, particularly the encoder-decoder architecture, to generate patches. Though existing DL-based APR…

Software Engineering · Computer Science 2022-03-25 Qihao Zhu , Zeyu Sun , Yuan-an Xiao , Wenjie Zhang , Kang Yuan , Yingfei Xiong , Lu Zhang

Automated Program Repair (APR) aims to automatically generate correct patches for buggy programs. Recent approaches leveraging large language models (LLMs) have shown promise but face limitations. Most rely solely on static analysis,…

Software Engineering · Computer Science 2026-04-21 Zhili Huang , Ling Xu , Chao Liu , Weifeng Sun , Xu Zhang , Yan Lei , Meng Yan , Hongyu Zhang

Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurrence of bugs across projects, the associated similar patches…

Software Engineering · Computer Science 2023-05-05 Anil Koyuncu , Kui Liu , Tegawendé F. Bissyandé , Dongsun Kim , Jacques Klein , Martin Monperrus , Yves Le Traon

The general trace reconstruction problem seeks to recover an original sequence from its noisy copies independently corrupted by deletions, insertions, and substitutions. This problem arises in applications such as DNA data storage, a…

Machine Learning · Computer Science 2025-07-18 Franziska Weindel , Michael Girsch , Reinhard Heckel

Reinforcement learning with verifiable rewards has become a common way to improve explicit reasoning in large language models, but final-answer correctness alone does not reveal whether the reasoning trace is faithful, reliable, or useful…

Artificial Intelligence · Computer Science 2026-05-08 Tianyang Han , Hengyu Shi , Junjie Hu , Xu Yang , Zhiling Wang , Junhao Su