TL;DR
This paper introduces SEER, a learning-based approach that creates effective test oracles without needing exact expected behaviors, by embedding tests and code into a shared vector space to predict test outcomes.
Contribution
SEER is a novel neural approach that predicts test pass/fail outcomes without explicit assertions, improving test oracle automation in software testing.
Findings
Achieves 93% accuracy in predicting test outcomes
Generalizes well to unseen projects with minimal performance loss
Detects bugs rapidly, averaging 6.5 milliseconds per test
Abstract
Automation of test oracles is one of the most challenging facets of software testing, but remains comparatively less addressed compared to automated test input generation. Test oracles rely on a ground-truth that can distinguish between the correct and buggy behavior to determine whether a test fails (detects a bug) or passes. What makes the oracle problem challenging and undecidable is the assumption that the ground-truth should know the exact expected, correct, or buggy behavior. However, we argue that one can still build an accurate oracle without knowing the exact correct or buggy behavior, but how these two might differ. This paper presents SEER, a learning-based approach that in the absence of test assertions or other types of oracle, can determine whether a unit test passes or fails on a given method under test (MUT). To build the ground-truth, SEER jointly embeds unit tests and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Methodsfail · Test · *Communicated@Fast*How Do I Communicate to Expedia? · Sigmoid Activation · Convolution · LARS · Batch Normalization · Global Average Pooling · 1x1 Convolution · Grouped Convolution
