Skip to main content

Lightweight Defect Localization for Java

  • Conference paper
ECOOP 2005 - Object-Oriented Programming (ECOOP 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3586))

Included in the following conference series:

Abstract

A common method to localize defects is to compare the coverage of passing and failing program runs: A method executed only in failing runs, for instance, is likely to point to the defect. However, some failures, occur only after a specific sequence of method calls, such as multiple deallocations of the same resource. Such sequences can be collected from arbitrary Java programs at low cost; comparing object-specific sequences predicts defects better than simply comparing coverage. In a controlled experiment, our technique pinpointed the defective class in 39% of all test runs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ammons, G., Bodík, R., Larus, J.: Mining specifications. In: Conference Record of POPL 2002: The 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, January 16–18, pp. 4–16 (2002)

    Google Scholar 

  2. Cleve, H., Zeller, A.: Locating causes of program failures (to appear). In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol. 4309. Springer, Heidelberg (2006)

    Google Scholar 

  3. Dahm, M.: Byte code engineering with the JavaClass API. Technical Report B-17-98, Freie Universität Berlin, Institut für Informatik, Berlin, Germany, July 2007 (1999), http://www.inf.fu-berlin.de/~dahm/JavaClass/ftp/report.ps.gz

  4. Do, H., Elbaum, S., Rothermel, G.: Infrastructure support for controlled experimentation with software testing and regression testing techniques. In: International Symposium on Empirical Software Engineering, Redondo Beach, California, August 2004, pp. 60–70 (2004)

    Google Scholar 

  5. Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering 27(2), 1–25 (2001); A previous version appeared in ICSE 1999, Proceedings of the 21st International Conference on Software Engineering, 27th edn., Los Angeles, CA, USA, May 19–21, pp. 213–224 (1999)

    Google Scholar 

  6. Forrest, S., Hofmeyr, S.A., Somayaji, A.: Computer immunology. Communications of the ACM 40(10), 88–96 (1997)

    Article  Google Scholar 

  7. Hangal, S., Lam, M.S.: Tracking down software bugs using automatic anomaly detection. In: Proceedings of the 24th International Conference on Software Engineering (ICSE-2002), New York, May 19–25, pp. 291–301. ACM Press, New York (2002)

    Chapter  Google Scholar 

  8. Harrold, M.J., Rothermel, G., Wu, R., Yi, L.: An empirical investigation of program spectra. In: ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998), Montreal, Canada, July 1998. ACM SIGPLAN Notices, pp. 83–90 (1998); Published as ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998), ACM SIGPLAN Notices, vol. 33(7)

    Google Scholar 

  9. Hofmeyr, S.A., Forrest, S., Somayaji, S.: Intrusion detection using sequences of system calls. Journal of Computer Security 6(3), 151–180 (1998)

    Google Scholar 

  10. Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proc. International Conference on Software Engineering (ICSE), Orlando, Florida, May 2002, pp. 467–477 (2002)

    Google Scholar 

  11. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proc. of the SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI), San Diego, California (June 2003)

    Google Scholar 

  13. Morgan, P.: JCoverage 1.0.5 GPL (2004), http://www.jcoverage.com/

  14. Pytlik, B., Renieris, M., Krishnamurthi, S., Reiss, S.: Automated fault localization using potential invariants. In: Ronsse, M. (ed.) Proc. Fifth Int. Workshop on Automated and Algorithmic Debugging (AADEBUG), Ghent, Belgium (September 2003), http://xxx.lanl.gov/html/cs.SE/0309027

  15. Reiss, S.P., Renieris, M.: Encoding program executions. In: Proceedings of the 23rd International Conference on Software Engeneering (ICSE-2001), Los Alamitos, California, May12–19, pp. 221–232. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  Google Scholar 

  16. Reps, T., Ball, T., Das, M., Larus, J.: The use of program profiling for software maintenance with applications to the year 2000 problem. In: Jazayeri, M., Schauer, H. (eds.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 432–449. Springer, Heidelberg (1997)

    Google Scholar 

  17. Sekar, R., Bendre, M., Dhurjati, D., Bollineni, P.: A fast automaton-based method for detecting anomalous program behaviors. In: Titsworth, F.M. (ed.) Proceedings of the 2001 IEEE Symposium on Security and Privacy (S&P-01), Los Alamitos, CA, May 14–16, pp. 144–155. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  Google Scholar 

  18. SPEC. SPEC JVM 98 benchmark suite. Standard Performance Evaluation Corporation (1998)

    Google Scholar 

  19. Zeller, A.: Isolating cause-effect chains from computer programs. In: Griswold, W.G. (ed.) Proceedings of the Tenth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-2002), New York, November  18–22. Software Engineering Notes, vol. 27(6), pp. 1–10. ACM Press, New York (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dallmeier, V., Lindig, C., Zeller, A. (2005). Lightweight Defect Localization for Java. In: Black, A.P. (eds) ECOOP 2005 - Object-Oriented Programming. ECOOP 2005. Lecture Notes in Computer Science, vol 3586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11531142_23

Download citation

  • DOI: https://doi.org/10.1007/11531142_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27992-1

  • Online ISBN: 978-3-540-31725-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics