Authors:
Rui Abreu
;
Alberto González
;
Peter Zoeteweij
and
Arjan J. C. van Gemund
Affiliation:
Faculty of Electrical Engineering, Mathematics, and Computer Science, Delft University of Technology, Netherlands
Keyword(s):
Error detection, program invariants, analytic model, fault localization, program spectra.
Related
Ontology
Subjects/Areas/Topics:
Service-Oriented Software Engineering and Management
;
Software and Systems Development Methodologies
;
Software Engineering
;
Software Process Improvement
Abstract:
Fault screeners are simple software (or hardware) constructs that detect variable value errors based on unary invariant checking. In this paper we evaluate and compare the performance of two low-cost screeners (Bloom filter, and range screener) that can be automatically integrated within a program, while being automatically trained during the testing phase. While the Bloom filter has the capacity of retaining virtually all variable values associated with proper program execution, this property comes with a much higher false positive rate per unit training effort, compared to the more simple range screener, that compresses all value information in terms of a single lower and upper bound. We present a novel analytic model that predicts the false positive and false negative rate for both type of screeners. We show that the model agrees with our empirical findings. Furthermore, we describe the application of both screeners, where the screener output is used as input to a fault localizati
on process that provides automatic feedback on the location of residual program defects during deployment in the field.
(More)