Skip to main content

Locating Regression Bugs

  • Conference paper
Hardware and Software: Verification and Testing (HVC 2007)

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

Included in the following conference series:

Abstract

A regression bug is a bug which causes a feature that worked correctly to stop working after a certain event (system upgrade, system patching, daylight saving time switch, etc.). Very often an encompassed bug fix included in a patch causes the regression bug. Regression bugs are an annoying and painful phenomena in the software development process, requiring a great deal of effort to find. Many tools have been developed in order to find the existence of such bugs. However, a great deal of manual work is still needed to find the exact source-code location that caused a regression bug.

In this paper we present the CodePsychologist, a tool which assists the programmer to locate source code segments that caused a given regression bug. The CodePsychologist goes beyond current tools, that identify all the lines of code that changed since the feature in question worked properly (with the help of a Source Control Tool). The CodePsychologist uses various heuristics to select the lines most likely to be the cause of the error, from these often large number of lines of code. This reduces the fixing time of regression bugs. It allows a quick response to field errors that need an immediate correction.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Blanco, X., Alexandrov, M., Gelbukh, A.: Modified Makagonov’s method for testing word similarity and its application to constructing word frequency lists. Advances in Natural Language Processing. J. Research in Computing Science, 27–36 (2006)

    Google Scholar 

  2. Brooks Jr., F.P.: The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary edn. Addison-Wesley, Reading (1995)

    Google Scholar 

  3. CVS: Concurrent versions system (visited June 2007), http://www.nongnu.org/cvs

  4. Grubb, P.A., Takang, A.A.: Software Maintenance: Concepts and Practic, 2nd edn. World Scientific Publishing, Singapore (2003)

    Google Scholar 

  5. Kim, S., Pan, K., Whitehead Jr., E.E.J.: Memories of bug fixes. In: SIGSOFT 2006/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 35–45. ACM Press, New York (2006)

    Chapter  Google Scholar 

  6. Miller, G.A., et al.: Wordnet: An electronic lexical database (1998)

    Google Scholar 

  7. Myers, G.J., Badgett, T., Thomas, T.M.: The Art of Software Testing, 2nd edn. John Wiley & Sons, Chichester (2004)

    Google Scholar 

  8. Nir, D.: Codepsychologist: Locating regression-bugs. Master’s thesis, Tel-Aviv University, Israel (in preparation, 2007)

    Google Scholar 

  9. Piziali, A.: Functional Verification Coverage Measurement And Analysis. Springer, Heidelberg (2004)

    Google Scholar 

  10. Porter, M.F.: An Algorithm for Suffix Stripping, pp. 313–316. Morgan Kaufmann Publishers Inc., San Francisco (1997)

    Google Scholar 

  11. Rational ClearCase (2007), http://www-306.ibm.com/software/awdtools/clearcase/support/index.html

  12. Ren, X., et al.: Chianti: A tool for change impact analysis of Java programs. In: Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2004), Vancouver, BC, Canada, pp. 432–448 (October 2004)

    Google Scholar 

  13. Simpson, T., Dao, T.: Wordnet-based semantic similarity measurement (2005), http://www.codeproject.com/cs/library/semanticsimilaritywordnet.asp (visited June 2007)

  14. Singh, L., Drucker, L., Khan, N.: Advanced Verification Techniques: A SystemC Based Approach for Successful Tapeout. Kluwer Academic Publishers, Dordrecht (2004)

    Google Scholar 

  15. Stoerzer, M., et al.: Finding failure-inducing changes in Java programs using change classification. In: Robshaw, M.J.B. (ed.) FSE 2006. LNCS, vol. 4047, pp. 57–68. Springer, Heidelberg (2006)

    Google Scholar 

  16. van Vliet, H.: Software Engineering: Principles and Practices, 2nd edn. John Wiley, West Sussex (2000)

    Google Scholar 

  17. Visual source safe (2005), http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx (visited June 2007)

  18. DDS (visited June 2007), http://www.dds-daon.de/

  19. Zeller, A.: Automated debugging: Are we close?, IEEE Computer 34(11), 26–31 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Karen Yorav

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nir, D., Tyszberowicz, S., Yehudai, A. (2008). Locating Regression Bugs. In: Yorav, K. (eds) Hardware and Software: Verification and Testing. HVC 2007. Lecture Notes in Computer Science, vol 4899. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77966-7_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77966-7_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77964-3

  • Online ISBN: 978-3-540-77966-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics