English
Related papers

Related papers: Perfect is the enemy of test oracle

200 papers

The Go programming language has gained significant traction for developing software, especially in various infrastructure systems. Nonetheless, concurrency bugs have become a prevalent issue within Go, presenting a unique challenge due to…

Software Engineering · Computer Science 2024-12-12 Foivos Tsimpourlas , Chao Peng , Carlos Rosuero , Ping Yang , Ajitha Rajan

Code coverage is a popular and widespread test adequacy metric that measures the percentage of program codes executed by a test suite. Despite its popularity, code coverage has several limitations. One of the major limitations is that it…

Software Engineering · Computer Science 2023-02-16 Soneya Binta Hossain , Matthew B. Dwyer

In software testing, a set of test cases is constructed according to some predefined selection criteria. The software is then examined against these test cases. Three interesting observations have been made on the current artifacts of…

Software Engineering · Computer Science 2020-03-02 T. Y. Chen , S. C. Cheung , S. M. Yiu

Software testing is often hindered where it is impossible or impractical to determine the correctness of the behaviour or output of the software under test (SUT), a situation known as the oracle problem. An example of an area facing the…

Software Engineering · Computer Science 2021-08-06 Liming Xu , Dave Towey , Andrew French , Steve Benford , Zhi Quan Zhou , Tsong Yueh Chen

Merging other branches into the current working branch is common in collaborative software development. However, developers still heavily rely on the textual merge tools to handle the complicated merge tasks. The latent semantic merge…

Software Engineering · Computer Science 2020-03-03 Tao Ji , Liqian Chen , Xiaoguang Mao , Xin Yi , Jiahong Jiang

During testing, developers can place oracles externally or internally with respect to a method. Given a faulty execution state, i.e., one that differs from the expected one, an oracle might be unable to expose the fault if it is placed at a…

Software Engineering · Computer Science 2020-11-24 Gunel Jahangirova , David Clark , Mark Harman , Paolo Tonella

Automated unit test generation aims to improve software quality while reducing the time and effort required for creating tests manually. However, existing techniques primarily generate regression oracles that predicate on the implemented…

Software Engineering · Computer Science 2026-01-12 Adam Bodicoat , Gunel Jahangirova , Valerio Terragni

Automated tests play an important role in software evolution because they can rapidly detect faults introduced during changes. In practice, code-coverage metrics are often used as criteria to evaluate the effectiveness of test suites with…

Software Engineering · Computer Science 2016-11-23 Rainer Niedermayr , Elmar Juergens , Stefan Wagner

A test oracle determines whether a system behaves correctly for a given input. Automatic testing techniques rely on an automated test oracle to test the system without user interaction. Important families of automated test oracles include…

Software Engineering · Computer Science 2022-10-21 Manuel Rigger , Zhendong Su

Regression testing is crucial in ensuring that pure code refactoring does not adversely affect existing software functionality, but it can be expensive, accounting for half the cost of software maintenance. Automated test case generation…

Software Engineering · Computer Science 2024-01-05 Alejandra Duque-Torres , Claus Klammer , Dietmar Pfahl , Stefan Fischer , Rudolf Ramler

An "adequate" test suite should effectively find all inconsistencies between a system's requirements/specifications and its implementation. Practitioners frequently use code coverage to approximate adequacy, while academics argue that…

Software Engineering · Computer Science 2023-09-06 Kush Jain , Goutamkumar Tulajappa Kalburgi , Claire Le Goues , Alex Groce

Metamorphic testing (MT) is a simple yet effective technique to alleviate the oracle problem in software testing. The underlying idea of MT is to test a software system by checking whether metamorphic relations (MRs) hold among multiple…

Software Engineering · Computer Science 2024-12-31 An Fu , Chang-ai Sun , Jiaming Zhang , Huai Liu

Finding and fixing bugs are time-consuming activities in software development. Spectrum-based fault localization aims to identify the faulty position in source code based on the execution trace of test cases. Failing test cases and their…

Software Engineering · Computer Science 2018-07-06 Jifeng Xuan , Martin Monperrus

Many vision tasks use secondary information at inference time -- a seed -- to assist a computer vision model in solving a problem. For example, an initial bounding box is needed to initialize visual object tracking. To date, all such work…

Computer Vision and Pattern Recognition · Computer Science 2021-09-06 Stephan J. Lemmer , Jason J. Corso

Fault seeding is typically used in controlled studies to evaluate and compare test techniques. Central to these techniques lies the hypothesis that artificially seeded faults involve some form of realistic properties and thus provide…

Software Engineering · Computer Science 2021-12-30 Milos Ojdanic , Aayush Garg , Ahmed Khanfir , Renzo Degiovanni , Mike Papadakis , Yves Le Traon

Machine learning may enable the automated generation of test oracles. We have characterized emerging research in this area through a systematic literature review examining oracle types, researcher goals, the ML techniques applied, how the…

Software Engineering · Computer Science 2021-08-10 Afonso Fontes , Gregory Gay

Researchers and practitioners have designed and implemented various automated test case generators to support effective software testing. Such generators exist for various languages (e.g., Java, C#, or Python) and for various platforms…

Due to the unprecedented success of deep learning, it has become an integral component in several multimedia computing applications in todays world. Unfortunately, deep learning systems are not perfect and can fail, sometimes abruptly,…

Computer Vision and Pattern Recognition · Computer Science 2026-05-05 Varun Totakura , Shayok Chakraborty

Verification of model outputs is rapidly emerging as a key primitive for both training and real-world deployment of large language models (LLMs). In practice, this often involves using imperfect LLM judges and reward models since ground…

Machine Learning · Statistics 2026-04-21 Joonhyuk Lee , Virginia Ma , Sarah Zhao , Yash Nair , Asher Spector , Regev Cohen , Emmanuel J. Candès

Large language models can generate scientific simulation code, but the generated code silently fails on most non-textbook problems. We show that classical mathematical validation -- well-posedness, convergence, and error certification --…

Software Engineering · Computer Science 2026-03-30 Chengshuai Yang