English
Related papers

Related papers: How Execution Features Relate to Failures: An Empi…

200 papers

Software often fails in the field, however reproducing and debugging field failures is very challenging: the failure-inducing input may be missing, and the program setup can be complicated and hard to reproduce by the developers. In this…

Software Engineering · Computer Science 2023-09-21 Ashwin Kallingal Joshy , Benjamin Steenhoek , Xiuyuan Guo , Wei Le

Fault localization is a critical step in software maintenance. Yet, many existing techniques, such as Spectrum-Based Fault Localization (SBFL), rely heavily on the availability of fault-triggering tests to be effective. In practice,…

Software Engineering · Computer Science 2025-10-28 Md Nakhla Rafi , Lorena Barreto Simedo Pacheco , An Ran Chen , Jinqiu Yang , Tse-Hsun , Chen

Traditional evaluation metrics for learned models that report aggregate scores over a test set are insufficient for surfacing important and informative patterns of failure over features and instances. We introduce and study a method aimed…

Computer Vision and Pattern Recognition · Computer Science 2021-06-15 Sahil Singla , Besmira Nushi , Shital Shah , Ece Kamar , Eric Horvitz

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence…

Software Engineering · Computer Science 2018-05-03 Roberto Baldoni , Emilio Coppa , Daniele Cono D'Elia , Camil Demetrescu , Irene Finocchi

Flaky tests are tests that can non-deterministically pass or fail, even in the absence of code changes.Despite being a source of false alarms, flaky tests often remain in test suites once they are detected, as they also may be relied upon…

Software Engineering · Computer Science 2024-01-30 Abdulrahman Alshammari , Paul Ammann , Michael Hilton , Jonathan Bell

Debugging software, i.e., the localization of faults and their repair, is a key activity in software engineering. Therefore, effective and efficient debugging is one of the core skills a software engineer must develop. However, the teaching…

Performance debugging in production is a fundamental activity in modern service-based systems. The diagnosis of performance issues is often time-consuming, since it requires thorough inspection of large volumes of traces and performance…

Software Engineering · Computer Science 2023-04-10 Luca Traini , Vittorio Cortellessa

Over the past decade, Deep Learning (DL) has become an integral part of our daily lives. This surge in DL usage has heightened the need for developing reliable DL software systems. Given that fault localization is a critical task in…

Software Engineering · Computer Science 2024-11-14 Mohammad Mehdi Morovati , Amin Nikanjam , Foutse Khomh

Software defect prediction using code metrics has been extensively researched over the past five decades. However, prediction harnessing non-software metrics is under-researched. Considering that the root cause of software defects is often…

Software Engineering · Computer Science 2025-08-07 Carlos Andrés Ramírez Cataño , Makoto Itoh

Symbolic execution is a powerful program analysis technique that allows for the systematic exploration of all program paths. Path explosion, where the number of states to track becomes unwieldy, is one of the biggest challenges hindering…

Cryptography and Security · Computer Science 2025-08-12 Joshua Bailey , Charles Nicholas

Accurately predicting faulty software units helps practitioners target faulty units and prioritize their efforts to maintain software quality. Prior studies use machine-learning models to detect faulty software code. We revisit past studies…

Software Engineering · Computer Science 2019-01-08 Libo Li , Stefan Lessmann , Bart Baesens

Much effort is spent everyday by programmers in trying to reduce long, failing execution traces to the cause of the error. We present a new algorithm for error cause localization based on a reduction to the maximal satisfiability problem…

Programming Languages · Computer Science 2011-03-10 Manu Jose , Rupak Majumdar

The software engineering field has a long history of classifying software failure causes. Understanding them is paramount for fault injection, focusing testing efforts or reliability prediction. Since software fails in manifold complex…

Software Engineering · Computer Science 2016-03-15 Lena Feinbube , Peter Tröger , Andreas Polze

Bug localisation, the study of developing methods to localise the files requiring changes to resolve bugs, has been researched for a long time to develop methods capable of saving developers' time. Recently, researchers are starting to…

Software Engineering · Computer Science 2025-07-25 Jesse Maarleveld , Jiapan Guo , Daniel Feitosa

The validation process for microprocessors is a very complex task that consumes substantial engineering time during the design process. Bugs that degrade overall system performance, without affecting its functional correctness, are…

Hardware Architecture · Computer Science 2023-03-28 Erick Carvajal Barboza , Mahesh Ketkar , Michael Kishinevsky , Paul Gratz , Jiang Hu

Fault localization identifies program locations responsible for observed failures. Existing techniques rank suspicious code using syntactic spectra--signals derived from execution structure such as statement coverage, control-flow…

Software Engineering · Computer Science 2026-04-01 Zhaorui Yang , Haichao Zhu , Qian Zhang , Rajiv Gupta , Ashish Kundu

Properly benchmarking Automated Program Repair (APR) systems should contribute to the development and adoption of the research outputs by practitioners. To that end, the research community must ensure that it reaches significant milestones…

Software Engineering · Computer Science 2019-02-18 Kui Liu , Anil Koyuncu , Tegawendé F. Bissyandé , Dongsun Kim , Jacques Klein , Yves Le Traon

Security must be considered in almost every software system. Unfortunately, selecting and implementing security features remains challenging due to the variety of security threats and possible countermeasures. While security standards are…

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

Many researchers have studied the behaviour of successful developers while debugging desktop software. In this paper, we investigate the embedded-software debugging by intermediate programmers through an exploratory study. The bugs are…

Software Engineering · Computer Science 2017-04-12 Pansy Arafa , Daniel Solomon , Samaneh Navabpour , Sebastian Fischmeister