English
Related papers

Related papers: Automatic Repair of Real Bugs in Java: A Large-Sca…

200 papers

Quality assurance (QA) tools are receiving more and more attention and are widely used by developers. Given the wide range of solutions for QA technology, it is still a question of evaluating QA tools. Most existing research is limited in…

Software Engineering · Computer Science 2023-06-08 Han Liu , Sen Chen , Ruitao Feng , Chengwei Liu , Kaixuan Li , Zhengzi Xu , Liming Nie , Yang Liu , Yixiang Chen

With the growing interest on Large Language Models (LLMs) for fault localization and program repair, ensuring the integrity and generalizability of the LLM-based methods becomes paramount. The code in existing widely-adopted benchmarks for…

Software Engineering · Computer Science 2023-10-26 Yonghao Wu , Zheng Li , Jie M. Zhang , Yong Liu

In recent years, more vulnerabilities have been discovered every day, while manual vulnerability repair requires specialized knowledge and is time-consuming. As a result, many detected or even published vulnerabilities remain unpatched,…

Software Engineering · Computer Science 2025-04-11 Zhengyao Liu , Yunlong Ma , Jingxuan Xu , Junchen Ai , Xiang Gao , Hailong Sun , Abhik Roychoudhury

Flaky tests produce inconsistent outcomes without code changes, creating major challenges for software developers. An industrial case study reported that developers spend 1.28% of their time repairing flaky tests at a monthly cost of…

Software Engineering · Computer Science 2025-04-24 Owain Parry , Gregory Kapfhammer , Michael Hilton , Phil McMinn

Significant interest in applying Deep Neural Network (DNN) has fueled the need to support engineering of software that uses DNNs. Repairing software that uses DNNs is one such unmistakable SE need where automated tools could be beneficial;…

Software Engineering · Computer Science 2020-05-05 Md Johirul Islam , Rangeet Pan , Giang Nguyen , Hridesh Rajan

Context: During last years, many automatic software repair approaches have been presented by the software engineering research community. According to the corresponding papers, these approaches are able to repair real defects from open…

Software Engineering · Computer Science 2014-10-27 Matias Martinez , Martin Monperrus

Modern programming languages (e.g., Java and C#) provide features to separate error-handling code from regular code, seeking to enhance software comprehensibility and maintainability. Nevertheless, the way exception handling (EH) code is…

Software Engineering · Computer Science 2021-05-04 Luan P. Lima , Lincoln S. Rocha , Carla I. M. Bezerra , Matheus Paixao

App stores allow users to give valuable feedback on apps, and developers to find this feedback and use it for the software evolution. However, finding user feedback that matches existing bug reports in issue trackers is challenging as users…

Software Engineering · Computer Science 2021-02-16 Marlo Häring , Christoph Stanik , Walid Maalej

Deep Neural Networks (DNNs) are used in a wide variety of applications. However, as in any software application, DNN-based apps are afflicted with bugs. Previous work observed that DNN bug fix patterns are different from traditional bug fix…

Software Engineering · Computer Science 2021-12-09 Mohammad Wardat , Breno Dantas Cruz , Wei Le , Hridesh Rajan

Software vulnerabilities continue to be ubiquitous, even in the era of AI-powered code assistants, advanced static analysis tools, and the adoption of extensive testing frameworks. It has become apparent that we must not simply prevent…

Implementing bug-free concurrent programs is a challenging task in modern software development. State-of-the-art static analyses find hundreds of concurrency bugs in production code, scaling to large codebases. Yet, fixing these bugs in…

Software Engineering · Computer Science 2021-08-09 Andreea Costea , Abhishek Tiwari , Sigmund Chianasta , Kishore R , Abhik Roychoudhury , Ilya Sergey

Current automated program repair (APR) techniques are far from being practical and useful enough to be considered for realistic debugging. They rely on unrealistic assumptions including the requirement of a comprehensive suite of test cases…

Software Engineering · Computer Science 2024-07-15 Qi Xin , Haojun Wu , Steven P. Reiss , Jifeng Xuan

Just-in-time (JIT) compilers are key components for many popular programming languages with managed runtimes (e.g., Java and JavaScript). JIT compilers perform optimizations and generate native code at runtime based on dynamic profiling…

Software Engineering · Computer Science 2026-03-09 Zijian Yi , Cheng Ding , August Shi , Milos Gligoric

Background: Bug reports are essential to the software development life cycle. They help developers track and resolve issues, but are often difficult to process due to their complexity, which can delay resolution and affect software quality.…

Software Engineering · Computer Science 2025-04-30 Zhiyuan Chen , Vanessa Nava-Camal , Ahmad Suleiman , Yiming Tang , Daqing Hou , Weiyi Shang

Large language models (LLMs) have recently demonstrated strong potential for automated program repair (APR). However, existing LLM-based techniques primarily rely on coarse-grained external feedback (e.g.,test results) to guide iterative…

Software Engineering · Computer Science 2025-11-25 Jiaolong Kong , Xiaofei Xie , Yiheng Xiong , Yuekun Wang , Jian Wang

The correctness of software systems is vital for their effective operation. It makes discovering and fixing software bugs an important development task. The increasing use of Artificial Intelligence (AI) techniques in Software Engineering…

Software Engineering · Computer Science 2023-10-19 Ingrid Marçal , Rogério Eduardo Garcia

Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is…

Machine Learning · Computer Science 2021-11-17 Miltiadis Allamanis , Henry Jackson-Flux , Marc Brockschmidt

Smart contracts are pieces of code that reside inside the blockchains and can be triggered to execute any transaction when specifically predefined conditions are satisfied. Being commonly used for commercial transactions in blockchain makes…

Cryptography and Security · Computer Science 2023-06-13 Yilin Wang , Xiangping Chen , Yuan Huang , Hao-Nan Zhu , Jing Bian , Zibin Zheng

The co-development of hardware and software in industrial embedded systems frequently leads to compilation errors during continuous integration (CI). Automated repair of such failures is promising, but existing techniques rely on test…

Software Engineering · Computer Science 2025-10-16 Han Fu , Sigrid Eldh , Kristian Wiklund , Andreas Ermedahl , Philipp Haller , Cyrille Artho

Most automatic program repair techniques rely on test cases to specify correct program behavior. Due to test cases' frequently incomplete coverage of desired behavior, however, patches often overfit and fail to generalize to broader…

Software Engineering · Computer Science 2020-03-27 Zhen Yu Ding