English
Related papers

Related papers: HIPPODROME: Data Race Repair using Static Analysis…

200 papers

Automated program repair is an emerging technology which consists of a suite of techniques to automatically fix bugs or vulnerabilities in programs. In this paper, we present a comprehensive survey of the state of the art in program repair.…

Software Engineering · Computer Science 2022-11-24 Xiang Gao , Yannic Noller , Abhik Roychoudhury

This paper presents a novel end-to-end approach to program repair based on sequence-to-sequence learning. We devise, implement, and evaluate a system, called SequenceR, for fixing bugs based on sequence-to-sequence learning on source code.…

Software Engineering · Computer Science 2019-09-12 Zimin Chen , Steve Kommrusch , Michele Tufano , Louis-Noël Pouchet , Denys Poshyvanyk , Martin Monperrus

The concurrency features of the Go language have proven versatile in the development of a number of concurrency systems. However, correctness methods to address challenges in Go concurrency debugging have not received much attention. In…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-25 Saeed Taheri , Ganesh Gopalakrishnan

Automated Program Repair (APR) is an emerging research field. Many APR techniques, for different programming language and platforms, have been proposed and evaluated on several Benchmarks. However, for our best knowledge, there not exists a…

Software Engineering · Computer Science 2018-10-15 Larissa Azevedo , Altino Dantas , Celso G. Camilo-Junior

We propose a memory-model-aware static program analysis method for accurately analyzing the behavior of concurrent software running on processors with weak consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of our…

Programming Languages · Computer Science 2017-09-29 Markus Kusano , Chao Wang

Automatic performance debugging of parallel applications usually involves two steps: automatic detection of performance bottlenecks and uncovering their root causes for performance optimization. Previous work fails to resolve this…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-02-24 Xu Liu , Lin Yuan , Jianfeng Zhan , Bibo Tu , Dan Meng

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel

The characterization of bug datasets is essential to support the evaluation of automatic program repair tools. In a previous work, we manually studied almost 400 human-written patches (bug fixes) from the Defects4J dataset and annotated…

Software Engineering · Computer Science 2018-07-31 Fernanda Madeiral , Thomas Durieux , Victor Sobreira , Marcelo Maia

Software debugging is tedious, time-consuming, and even error-prone by itself. So, various automated debugging techniques have been proposed in the literature to facilitate the debugging process. Automated Program Repair (APR) is one of the…

Software Engineering · Computer Science 2018-07-11 Ali Ghanbari , Lingming Zhang

Automated generation of feedback on programming assignments holds significant benefits for programming education, especially when it comes to advanced assignments. Automated Program Repair techniques, especially Large Language Model based…

Software Engineering · Computer Science 2024-04-03 Qianhui Zhao , Fang Liu , Li Zhang , Yang Liu , Zhen Yan , Zhenghao Chen , Yufei Zhou , Jing Jiang , Ge Li

The rapid pace of large-scale software development places increasing demands on traditional testing methodologies, often leading to bottlenecks in efficiency, accuracy, and coverage. We propose a novel perspective on software testing by…

Software Engineering · Computer Science 2025-04-08 Yuchen Wang , Shangxin Guo , Chee Wei Tan

APR (Automated Program Repair) aims to automatically locate program defects, generate patches and validate the repairs. Existing techniques for APR are often combined with LLMs (Large Language Models), which leverages the code-related…

Software Engineering · Computer Science 2025-07-31 Haichuan Hu , Xiaochen Xie , Quanjun Zhang

Automatic program repair (APR) techniques have the potential to reduce manual efforts in uncovering and repairing program defects during the code review (CR) process. However, the limited accuracy and considerable time costs associated with…

Software Engineering · Computer Science 2024-01-01 Zelin Zhao , Zhaogui Xu , Jialong Zhu , Peng Di , Yuan Yao , Xiaoxing Ma

Data races are critical issues in multithreaded program, leading to unpredictable, catastrophic and difficult-to-diagnose problems. Despite the extensive in-house testing, data races often escape to deployed software and manifest in…

Software Engineering · Computer Science 2024-12-20 Xudong Sun , Zhuo Chen , Jingyang Shi , Yiyu Zhang , Peng Di , Jianhua Zhao , Xuandong Li , Zhiqiang Zuo

Automated Program Repair (APR) can reduce the time developers spend debugging, allowing them to focus on other aspects of software development. Automatically generated bug patches are typically validated through software testing. However,…

Software Engineering · Computer Science 2026-03-13 David Williams , Ioakim Avraam , Aldeida Aleti , Matias Martinez , Justyna Petke , Federica Sarro

Modern semantic parsers suffer from two principal limitations. First, training requires expensive collection of utterance-program pairs. Second, semantic parsers fail to generalize at test time to new compositions/structures that have not…

Computation and Language · Computer Science 2021-09-07 Inbar Oren , Jonathan Herzig , Jonathan Berant

Rust's memory safety guarantees, notably ownership and lifetime systems, have driven its widespread adoption. Concurrency bugs still occur in Rust programs, and existing detection approaches exhibit significant limitations: static analyzers…

Programming Languages · Computer Science 2025-09-24 Kaiwen Zhang , Guanjun Liu

Dynamic data race detection has emerged as a key technique for ensuring reliability of concurrent software in practice. However, dynamic approaches can often miss data races owing to nondeterminism in the thread scheduler. Predictive race…

Software Engineering · Computer Science 2024-01-12 Zheng Shi , Umang Mathur , Andreas Pavlogiannis

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

Today's small and medium-sized enterprises (SMEs) in the software industry are faced with major challenges. While having to work efficiently using limited resources they have to perform quality assurance on their code to avoid the risk of…

Software Engineering · Computer Science 2016-11-24 Mario Gleirscher , Dmitriy Golubitskiy , Maximilian Irlbeck , Stefan Wagner