English
Related papers

Related papers: Test Case Purification for Improving Fault Localiz…

200 papers

Compilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as…

Programming Languages · Computer Science 2015-08-28 Zvonimir Pavlinovic , Tim King , Thomas Wies

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

Regression testing of software is a crucial but time-consuming task, especially in the context of user interface (UI) testing where multiple microservices must be validated simultaneously. Test case prioritization (TCP) is a cost-efficient…

Software Engineering · Computer Science 2024-08-02 Hieu Huynh , Nhu Pham , Tien N. Nguyen , Vu Nguyen

Debugging is one of the most time-consuming and expensive tasks in software development. Several formula-based fault localization (FBFL) methods have been proposed, but they fail to guarantee a set of diagnoses across all failing tests or…

Software Engineering · Computer Science 2025-09-08 Pedro Orvalho , Mikoláš Janota , Vasco Manquinho

The prevalence of software systems has become an integral part of modern-day living. Software usage has increased significantly, leading to its growth in both size and complexity. Consequently, software development is becoming a more…

Software Engineering · Computer Science 2023-06-07 Tiago Dias , Arthur Batista , Eva Maia , Isabel Praça

Mutation testing has been widely accepted as an approach to guide test case generation or to assess the effectiveness of test suites. Empirical studies have shown that mutants are representative of real faults; yet they also indicated a…

Software Engineering · Computer Science 2019-07-31 Michele Tufano , Cody Watson , Gabriele Bavota , Massimiliano Di Penta , Martin White , Denys Poshyvanyk

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

Continuous integration testing is an important step in the modern software engineering life cycle. Test prioritization is a method that can improve the efficiency of continuous integration testing by selecting test cases that can detect…

Software Engineering · Computer Science 2021-10-15 Aizaz Sharif , Dusica Marijan , Marius Liaaen

Automated test generation has helped to reduce the cost of software testing. However, developing effective test oracles for these automatically generated test inputs is a challenging task. Therefore, most automated test generation tools use…

Software Engineering · Computer Science 2020-04-21 Prashanta Saha , Upulee Kanewala

Nowadays, locating software components responsible for observed failures is one of the most expensive and error-prone tasks in the software development process. To improve the debugging process efficiency, some effort was already made to…

Software Engineering · Computer Science 2013-06-20 Alexandre Perez

Bug localization techniques for Just-in-Time (JIT) compilers are based on analyzing the execution behaviors of the target JIT compiler on a set of test programs generated for this purpose; characteristics of these test inputs can…

Software Engineering · Computer Science 2023-07-19 HeuiChan Lim , Saumya Debray

Test effectiveness refers to the capability of a test suite in exposing faults in software. It is crucial to be aware of factors that influence this capability. We aim at inferring the causal relationship between the two factors (i.e.,…

Software Engineering · Computer Science 2023-03-20 Alireza Aghamohammadi , Seyed-Hassan Mirian-Hosseinabadi

Improved test case prioritization means that software developers can detect and fix more software faults sooner than usual. But is there one "best" prioritization algorithm? Or do different kinds of projects deserve special kinds of…

Software Engineering · Computer Science 2021-02-23 Xiao Ling , Rishabh Agrawal , Tim Menzies

Context: When an application evolves, some of the developed test cases break. Discarding broken test cases causes a significant waste of effort and leads to test suites that are less effective and have lower coverage. Test repair approaches…

Software Engineering · Computer Science 2019-09-25 Javaria Imtiaz , Salman Sherin , Muhammad Uzair khan , Muhammad Zohaib Iqbal

To fix a software bug, you must first find it. As software grows in size and complexity, finding bugs is becoming harder. To solve this problem, measures have been developed to rank lines of code according to their "suspiciousness" wrt…

Software Engineering · Computer Science 2018-10-02 David Landsberg , Earl Barr

Many software metrics are designed to measure aspects that are believed to be related to software quality. Static software metrics, e.g., size, complexity and coupling are used in defect prediction research as well as software quality…

Software Engineering · Computer Science 2022-05-31 Alexander Trautsch , Johannes Erbel , Steffen Herbold , Jens Grabowski

The effectiveness of testing in uncovering software defects depends not only on the characteristics of the test inputs and how thoroughly they exercise the software, but also on the quality of the oracles used to determine whether the…

Software Engineering · Computer Science 2025-10-06 Facundo Molina , Nazareno Aguirre , Alessandra Gorla

This paper focuses on effective user diagnostics generated during the deductive verification of probabilistic programs. Our key principle is based on providing slices for (1) error reporting, (2) proof simplification, and (3) preserving…

Programming Languages · Computer Science 2025-12-25 Philipp Schröer , Darion Haase , Joost-Pieter Katoen

Bug localization, which is used to help programmers identify the location of bugs in source code, is an essential task in software development. Researchers have already made efforts to harness the powerful deep learning (DL) techniques to…

Software Engineering · Computer Science 2023-06-09 Zhuo Li , Huangzhao Zhang , Zhi Jin , Ge Li

TLA+ is a formal language for specifying systems, including distributed algorithms, that is supported by powerful verification tools. In this work we present a framework for relating traces of distributed programs to high-level…

Programming Languages · Computer Science 2024-09-18 Horatiu Cirstea , Markus A. Kuppe , Benjamin Loillier , Stephan Merz