of the screeners (and therefore considerable rates of
false positives and/or negatives), the diagnostic per-
formance of SFL is similar to the development-time
situation. This implies that fault diagnosis with an ac-
curacy comparable to that in the development phase
can be attained at the deployment phase with no addi-
tional programming effort or human intervention.
Future work includes the following. Al-
though other screeners are more time-consuming and
program-specific, such as relationships between vari-
ables, they may lead to better diagnostic performance,
and are therefore worth investigating. Furthermore,
although earlier work has shown that the current di-
agnostic metric is comparable to the more common
T-score (Jones and Harrold, 2005; Renieris and Reiss,
2003), we also plan to redo our study in terms of
the T-score, allowing a direct comparison between the
use of stand-alone screeners and the screener-SFL ap-
proach. Finally, we study ways to decrease screener
density, aimed to decrease screening overhead.
REFERENCES
Abreu, R., Gonz´alez, A., Zoeteweij, P., and van Gemund,
A. (2008). Automatic software fault localization us-
ing generic program invariants. In Proc. SAC’08, For-
taleza, Brazil. ACM Press. accepted for publication.
Abreu, R., Zoeteweij, P., and van Gemund, A. (2006). An
evaluation of similarity coefficients for software fault
localization. In Proccedings of PRDC’06.
Abreu, R., Zoeteweij, P., and van Gemund, A. (2007). On
the accuracy of spectrum-based fault localization. In
Proc. TAIC PART’07.
Bloom, B. (1970). Space/time trade-offs in hash coding
with allowable errors. Commun. ACM, 13(7):422–
426.
Cleve, H. and Zeller, A. (2005). Locating causes of program
failures. In Proc. ICSE’05, Missouri, USA.
Dallmeier, V., Lindig, C., and Zeller, A. (2005).
Lightweight defect localization for Java. In Black,
A. P., editor, Proc. ECOOP 2005, volume 3586 of
LNCS, pages 528–550. Springer-Verlag.
David, H. A. (1970). Order Statistics. John Wiley & Sons.
Ernst, M., Cockrell, J., Griswold, W., and Notkin, D.
(1999). Dynamically discovering likely program in-
variants to support program evolution. In Proc.
ICSE’99, pages 213–224.
Ernst, M., Perkins, J., Guo, P., McCamant, S., Pacheco, C.,
Tschantz, M., , and Xiao, C. (2007). The Daikon sys-
tem for dynamic detection of likely invariants. In Sci-
ence of Computer Programming.
Gautama, H. and van Gemund, A. (2006). Low-cost
static performance prediction of parallel stochastic
task compositions. IEEE Trans. Parallel Distrib. Syst.,
17(1):78–91.
Gonz´alez, A. (2007). Automatic error detection techniques
based on dynamic invariants. Master’s thesis.
Gumbel, E. (1962). Statistical theory of extreme values
(main results). In Sarhan, A. and Greenberg, B., ed-
itors, Contributions to Order Statistics, pages 56–93.
John Wiley & Sons.
Hangal, S., Chandra, N., Narayanan, S., and Chakravorty,
S. (2005). IODINE: A tool to automatically infer dy-
namic invariants for hardware designs. In DAC’05,
San Diego, California, USA.
Hangal, S. and Lam, M. (2002). Tracking down software
bugs using automatic anomaly detection. In Proc.
ICSE’02.
Harrold, M., Rothermel, G., Wu, R., and Yi, L. (1998). An
empirical investigation of program spectra. ACM SIG-
PLAN Notices, 33(7):83–90.
Hutchins, M., Foster, H., Goradia, T., and Ostrand, T.
(1994). Experiments of the effectiveness of dataflow-
and controlflow-based test adequacy criteria. In Proc.
ICSE’94, Sorrento, Italy. IEEE CS.
Jain, A. and Dubes, R. (1988). Algorithms for clustering
data. Prentice-Hall, Inc.
Jones, J. and Harrold, M. (2005). Empirical evaluation of
the tarantula automatic fault-localization technique. In
Proc. ASE’05, pages 273–282, NY, USA.
Kephart, J. and Chess, D. (2003). The vision of autonomic
computing. Computer, 36(1):41–50.
Lattner, C. and Adve, V. (2004). LLVM: A Compilation
Framework for Lifelong Program Analysis & Trans-
formation. In Proc. CGO’04, Palo Alto, California.
Liu, C., Fei, L., Yan, X., Han, J., and Midkiff, S. (2006).
Statistical debugging: A hypothesis testing-based ap-
proach. IEEE TSE, 32(10):831–848.
Patterson, D., Brown, A., Broadwell, P., Candea, G., Chen,
M., Cutler, J., Enriquez, P., Fox, A., Kiciman, E.,
Merzbacher, M., Oppenheimer, D., Sastry, N., Tet-
zlaff, W., Traupman, J., and Treuhaft, N. (2002). Re-
covery Oriented Computing (ROC): Motivation, defi-
nition, techniques, and case studies. Technical Report
UCB/CSD-02-1175, U.C. Berkeley.
Pytlik, B., Renieris, M., Krishnamurthi, S., and Reiss, S.
(2003). Automated fault localization using potential
invariants. In Proc. AADEBUG’03.
Racunas, P., Constantinides, K., Manne, S., and Mukherjee,
S. (2007). Perturbation-based fault screening. In Proc.
HPCA’2007, pages 169–180.
Renieris, M. and Reiss, S. (2003). Fault localization with
nearest neighbor queries. In Proc. ASE’03, Montreal,
Canada. IEEE CS.
Yang, J. and Evans, D. (2004). Automatically inferring
temporal properties for program evolution. In Proc.
ISSRE’04, pages 340–351, Washington, DC, USA.
IEEE CS.
Zhang, X., He, H., Gupta, N., and Gupta, R. (2005). Exper-
imental evaluation of using dynamic slices for fault
location. In Proc. AADEBUG’05, pages 33–42, Mon-
terey, California, USA. ACM Press.
ENASE 2008 - International Conference on Evaluation of Novel Approaches to Software Engineering
130