@inbook {santos2012lightweight, title = {Lightweight Automatic Error Detection by Monitoring Collar Variables}, booktitle = {Testing Software and Systems}, year = {2012}, pages = {215{\textendash}230}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, address = {Aalborg}, abstract = {

Although proven to be an e ective way for detecting errors, generic program invariants (also known as fault screeners) entail a considerable runtime overhead, rendering them not useful in practice. This paper studies the impact of using simple variable patterns to detect the so-called system{\textquoteright}s collar variables to reduce the number of variables to be monitored (instrumented). Two di erent patterns were investigated to determine which variables to monitor. The rst pattern nds variables whose value increase or decrease at regular intervals and deems them not important to monitor. The other pattern veri es the range of a variable per (successful) execution. If the range is constant across executions, then the variable is not monitored. Experiments were conducted on three different real-world applications to evaluate the reduction achieved on the number of variables monitored and determine the quality of the error detection. Results show a reduction of 52.04\% on average in the number of monitored variables, while still maintaining a good detection rate with only 3.21\% of executions detecting non-existing errors (false positives) and 5.26\% not detecting an existing error (false negatives).

}, author = {Santos, Joao and Rui Abreu} }