Abstract
Although proven to be an effective 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’s collar variables to reduce the number of variables to be monitored (instrumented). Two different patterns were investigated to determine which variables to monitor. The first pattern finds variables whose value increase or decrease at regular intervals and deems them not important to monitor. The other pattern verifies 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).
Chapter PDF
Similar content being viewed by others
References
Patterson, D., Brown, A., Broadwell, P., Candea, G., Chen, M., Cutler, J., Enriquez, P., Fox, A., Kiciman, E., Merzbacher, M., Oppenheimer, D., Sastry, N., Tetzlaff, W., Traupman, J., Treuhaft, N.: Recovery-oriented computing (ROC): Motivation, definition, techniques, and case studies. Computer Science Technical Report UCB//CSD-02-1175, 1–16 (2002)
Racunas, P., Constantinides, K., Manne, S., Mukherjee, S.S.: Perturbation-based Fault Screening. In: Proceedings of HPCA 2007, pp. 169–180 (2007)
Hangal, S., Lam, M.S.: Tracking down software bugs using automatic anomaly detection. In: Proceedings of ICSE 2002, pp. 291–301 (2002)
Abreu, R., González, A., Zoeteweij, P., van Gemund, A.J.: Automatic software fault localization using generic program invariants. In: Proceedings of SAC 2008, pp. 712–717 (2008)
Menzies, T., Owen, D., Richardson, J.: The strangest thing about software. Computer 40(1), 54–60 (2007)
Gay, G., Menzies, T., Davies, M., Gundy-Burlet, K.: Automatically finding the control variables for complex system behavior. Automated Software Engineering 17(4), 439–468 (2010)
Ernst, M.D., Cockrell, J., Griswoldt, W.G., Notkin, D.: Dynamically Discovering Likely Program to Support Program Evolution Invariants. In: Proceedings of ICSE 1999, pp. 213–224 (1999)
Dimitrov, M., Zhou, H.: Anomaly-Based Bug Prediction, Isolation, and Validation: An Automated Approach for Software Debugging. In: Proceedings of ASPLOS 2009, vol. 44, pp. 61–72. ACM (2009)
Abreu, R., González, A., Zoeteweij, P., van Gemund, A.J.: Using Fault Screeners for Software Error Detection. In: Maciaszek, L.A., González-Pérez, C., Jablonski, S. (eds.) ENASE 2008/2009. CCIS, vol. 69, pp. 60–74. Springer, Heidelberg (2010)
Ernst, M.D., Perkins, J.H., Guo, P.J., McCamant, S., Pacheco, C., Tschantz, M.S., Xiao, C.: The Daikon system for dynamic detection of likely invariants. Science of Computer Programming 69(1-3), 35–45 (2007)
Pytlik, B., Renieris, M., Krishnamurthi, S., Reiss, S.P.: Automated Fault Localization Using Potential Invariants. In: Proceedings of AADEBUG 2003, pp. 273–276 (2003)
Hangal, S., Chandra, N., Narayanan, S., Chakravorty, S.: IODINE: A Tool to Automatically Infer Dynamic Invariants for Hardware Designs. In: Proceedings of DAC 2005, pp. 775–778 (2005)
Janssen, T., Abreu, R., van Gemund, A.J.: Zoltar: A Toolset for Automatic Fault Localization. In: Proceedings of ASE 2009, pp. 662–664 (2009)
Sagdeo, P., Athavale, V., Kowshik, S., Vasudevan, S.: PRECIS: Inferring invariants using program path guided clustering. In: Proceedings of ASE 2011, pp. 532–535 (2011)
Sahoo, S.K., Li, M.L., Ramachandran, P., Adve, S.V., Adve, V.S., Zhou, Y.: Using likely program invariants to detect hardware errors. In: Proceedings of DSN 2008, pp. 70–79 (June 2008)
Jalali, O., Menzies, T., Feather, M.: Optimizing Requirements Decisions with KEYS. In: Proceedings of PROMISE 2008 (ICSE), pp. 1–8 (2008)
Gay, G., Menzies, T., Jalali, O., Feather, M., Kiper, J.: Real-time Optimization of Requirements Models. Jet Propulsion, 1–33 (2008)
Williams, R., Gomes, C.P., Selman, B.: Backdoors To Typical Case Complexity. In: Proceedings of IJCAI 2003 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 IFIP International Federation for Information Processing
About this paper
Cite this paper
Santos, J., Abreu, R. (2012). Lightweight Automatic Error Detection by Monitoring Collar Variables. In: Nielsen, B., Weise, C. (eds) Testing Software and Systems. ICTSS 2012. Lecture Notes in Computer Science, vol 7641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34691-0_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-34691-0_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34690-3
Online ISBN: 978-3-642-34691-0
eBook Packages: Computer ScienceComputer Science (R0)