skip to main content
research-article

On Incomplete Bug Fixes in Eclipse and Programmers' Intuition on These

Authors Info & Claims
Published:06 February 2015Publication History
Skip Abstract Section

Abstract

Recent studies indicate that multiple patches to software are found in a hefty portion of resolved bugs. It is also known that bugs that require multiple patches take longer to resolve, that their severity tends to be higher than the average and that they induce programmers to engage more in bug discussions. This work is concerned with the ability of programmers to predict a bug will be of this sort, and in particular that it may require future patches and greater refixing effort at the time the bug is fixed at the first time. A mathematical model is developed for a retrospective analysis of bugs maintenance history. In this model we compute the impact of an array of bug properties on the likelihood that a specific bug is chosen, among all open bugs, to receive its first fix. The studies we conduct on a sizable portion of the history of the Eclipse code base indicate that programmers tend to attend first to bugs which are easier to fix. The results further suggest that some of the criteria that programmers apply (probably unknowingly) to determine whether a bug is easy to fix, is the number of future patches it would require, and the amount of work involved in these patches. This is despite the fact that this information is not supposed to be available to the programmers at the time the first fix is made. It is anticipated that the method of analysis introduced in this work would have other applications in software engineering, but also outside of computer science.

References

  1. J. Andersen and J. Lawall. Generic patch inference. In Proc. of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE'08), page 337--346. IEEE Computer Society, Sept. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. K. Arnold, J. Gosling, and D. Holmes. The Java programming language, volume 2. Addison-wesley Reading, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, and T. Zimmermann. What makes a good bug report? In Proc. of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, SIGSOFT '08/FSE-16, pages 308--318, Atlanta, Georgia, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Cohen and J. Gil. Self-calibration of metrics of java methods. In Proceedings. 37th International Conference on Technology of Object-Oriented Languages and Systems, 2000. TOOLS-Pacific 2000, pages 94--106. IEEE, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  5. M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In Proc. of the International Conference on Software Maintenance, ICSM'03, pages 23--32, Amsterdam, Netherlands, 2003. IEEE Comput. Soc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Giger, M. Pinzger, and H. Gall. Predicting the fix time of bugs. In Proc. of the 2nd International Workshop on Recommendation Systems for Software Engineering, RSSE '10, pages 52--56, Cape Town, South Africa, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Z. Gu, E. T. Barr, D. J. Hamilton, and Z. Su. Has the bug really been fixed? In the 32nd ACM/IEEE International Conference on Software Engineering, volume 1 of ICSE'10, page 55--64, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. E. Hassan and R. C. Holt. Predicting change propagation in software systems. In the 20th IEEE International Conference on Software Maintenance, ICSM'04, page 284--293. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Kim, S. Sinha, C. GoIL andrg, H. Shah, M. Harrold, and M. Nanda. Automated bug neighborhood analysis for identifying incomplete bug fixes. In the 3th International Conference on Software Testing, Verification and Validation (ICST'10), pages 383--392. IEEE Computer Society, Apr. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Kim and E. J. Whitehead, Jr. How long did it take to fix bugs? In Proc. of the 3rd International Workshop on Mining software Repositories, MSR'06, pages 173--174, Shanghai, China, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. E. J. Newman. Power laws, pareto distributions and zipf's law. Contemporary physics, 46(5):323--351, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  12. T. T. Nguyen, H. A. Nguyen, N. H. Pham, J. Al-Kofahi, and T. N. Nguyen. Recurring bug fixes in object-oriented programs. In Proc. of the 32nd ACM/IEEE International Conference on Software Engineering, volume 1 of ICSE '10, pages 315--324, Cape Town, South Africa, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. D. Panjer. Predicting Eclipse bug lifetimes. In Proc. of the 4th International Workshop on Mining Software Repositories, MSR'07, pages 29--32, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Park, M. Kim, B. Ray, and D.-H. Bae. An empirical study of supplementary bug fixes. In Proc. of the 9th Working Conference on Mining Software Repositories, MSR'12, pages 40--49, Zürich, Switzerland, June 2012. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Purushothaman and D. E. Perry. Toward understanding the rhetoric of small source code changes. IEEE Transactions on Software Engineering, 31(6):511--526, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. P. Robillard. Automatic generation of suggestions for program investigation. In the 10th European Software Engineering Conference (ESEC'05), page 11--20, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Valverde, R. F. Cancho, and R. V. Sole. Scale-free networks from optimal design. EPL (Europhysics Letters), 60(4):512, 2002.Google ScholarGoogle Scholar
  18. D. Cubranić and G. C. Murphy. Hipikat: recommending pertinent software development artifacts. In Proc. of the 25th International Conference on Software Engineering, ICSE '03, pages 408--418, Portland, OR, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Weiss, R. Premraj, T. Zimmermann, and A. Zeller. How long will it take to fix this bug? In Proc. of the 4th International Workshop on Mining Software Repositories, MSR'07, pages 1--8, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Wheeldon and S. Counsell. Power law distributions in class relationships. In Third IEEE International Workshop on Source Code Analysis and Manipulation, 2003. Proceedings., pages 45--54. IEEE, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  21. D. L. X. Wang, J. Cheng, L. Zhang, H. Mei, and J. X. Yu. Matching dependence-related queries in the system dependence graph. In the IEEE/ACM international conference on Automated software engineering (ASE'10), page 457--466, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. L. Y. Padioleau, R. R. Hansen, and G. Muller. Documenting and automating collateral evolutions in linux device drivers. In the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems (EUROSYS'08), page 247--260, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. X. Zhang, S. Tallam, N. Gupta, and R. Gupta. Towards locating execution omission errors. In the 2007 ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI'07), page 415--424, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Zimmermann and P. Weissgerber. Preprocessing CVS data for fine-grained analysis. In Proc. of the 1st International Workshop on Mining Software Repositories, MSR'04, 2004.Google ScholarGoogle ScholarCross RefCross Ref

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 1
    January 2015
    237 pages
    ISSN:0163-5948
    DOI:10.1145/2693208
    Issue’s Table of Contents

    Copyright © 2015 Authors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 6 February 2015

    Check for updates

    Qualifiers

    • research-article
  • Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)1

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader