[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Are Developers Fixing Their Own Bugs?: Tracing Bug-Fixing and Bug-Seeding Committers

Published: 01 April 2011 Publication History

Abstract

The process of fixing software bugs plays a key role in the maintenance activities of a software project. Ideally, code ownership and responsibility should be enforced among developers working on the same artifacts, so that those introducing buggy code could also contribute to its fix. However, especially in FLOSS projects, this mechanism is not clearly understood: in particular, it is not known whether those contributors fixing a bug are the same introducing and seeding it in the first place. This paper analyzes the comm-central FLOSS project, which hosts part of the Thunderbird, SeaMonkey, Lightning extensions and Sunbird projects from the Mozilla community. The analysis is focused at the level of lines of code and it uses the information stored in the source code management system. The results of this study show that in 80% of the cases, the bug-fixing activity involves source code modified by at most two developers. It also emerges that the developers fixing the bug are only responsible for 3.5% of the previous modifications to the lines affected; this implies that the other developers making changes to those lines could have made that fix. In most of the cases the bug fixing process in comm-central is not carried out by the same developers than those who seeded the buggy code.

References

[1]
Adams, P. J., Capiluppi, A.,&Boldyreff, C. 2009. Coordination and productivity issues in free software: The role of brooks' law. In Proceedings of the International Conference on Software Maintenance pp. 319-328. Washington, DC: IEEE Computer Society.
[2]
Canfora, G., Cerulo, L.,&Penta, M. D. 2007. Identifying changed source code lines from version repositories. In Proceedings of the Fourth International Workshop on Mining Software Repositories p. 14. Washington, DC: IEEE Computer Society.
[3]
Capiluppi, A., Baravalle, A.,&Heap, N. 2010. Open standards and e-learning: the role of open source software. In Proceedings of the 6th International Conference on Open Source Systems, Notre Dame, IN.
[4]
Chen, K., Schach, S. R., Yu, L., Offutt, J.,&Heller, G. Z. 2004. Open-source change logs. Empirical Software Engineering, 9, 197-210.
[5]
Fernández-Ramil, J., Izquierdo-Cortazar, D.,&Mens, T. 2009. What does it take to develop a million lines of open source code? In Proceedings of the 5th International Conference on Open Source Systems pp. 170-184.
[6]
Fernandez-Ramil, J., Lozano, A., Wermelinger, M.,&Capiluppi, A. 2008. Empirical studies of open source evolution. In Mens, T.,&Demeyer, S. Eds., Software evolution: State-of-the-art and research advances pp. 263-288. Berlin, Germany: Springer-Verlag.
[7]
German, D. M. 2004. Using software trails to reconstruct the evolution of software: Research articles. Journal of Software Maintenance and Evolution: Research and Practice-Analyzing the Evolution of Large-Scale Software, 166, 367-384.
[8]
Goldman, R.,&Gabriel, R. 2004. Innovation happens elsewhere: How and why a company should participate in open source. San Francisco, CA: Morgan Kaufmann.
[9]
Guo, P. J., Zimmermann, T., Nagappan, N.,&Murphy, B. 2010. Characterizing and predicting which bugs get fixed: an empirical study of Microsoft windows. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering pp. 495-504. New York, NY: ACM.
[10]
Hao-Yun Huang, Q. L.,&Panchal, J. H. 2010. Analysis of the structure and evolution of an open-source community. In Proceedings of the ASME International Design Engineering Technical Conferences&Computers and Information in Engineering Conference.
[11]
Hindle, A., German, D. M.,&Holt, R. 2008. What do large commits tell us? A taxonomical study of large commits. In Proceedings of the International Working Conference on Mining Software Repositories pp. 99-108. New York, NY: ACM.
[12]
Izquierdo-Cortazar, D., Robles, G., Ortega, F.,&Gonzalez-Barahona, J. M. 2009. Using software archaeology to measure knowledge loss in software projects due to developer turnover. In Proceedings of the Hawaii International Conference on System Sciences pp. 1-10. Washington, DC: IEEE Computer Society.
[13]
Kagdi, H. H., Hammad, M.,&Maletic, J. I. 2008. Who can help me with this source code change? In Proceedings of the 24th IEEE International Conference on Software Maintenance pp. 157-166. Washington, DC: IEEE Computer Society.
[14]
Kim, S., Whitehead, E. J.,&Zhang, Y. 2008. Classifying software changes: Clean or buggy? IEEE Transactions on Software Engineering, 342, 181-196.
[15]
Koch, S. 2009. Exploring the effects of sourceforge.net coordination and communication tools on the efficiency of open source projects using data envelopment analysis. Empirical Software Engineering, 144, 397-417.
[16]
Ma, D., Schuler, D., Zimmermann, T.,&Sillito, J. 2009. Expert recommendation with usage expertise. In Proceedings of the International Conference on Software Maintenance pp. 535-538. Washington, DC: IEEE Computer Society.
[17]
MacKenzie, D., Eggert, P.,&Stallman, R. 2002. Comparing and merging files with GNU diff and patch. London, UK: Network Theory.
[18]
MacLean, A. C., Pratt, L. J., Krein, J. L.,&Knutson, C. D. 2010. Trends that affect temporal analysis using sourceforge data. In Proceedings of the 5th International Workshop on Public Data about Software Development p. 6.
[19]
Miller, W.,&Myers, E. W. 1985. A file comparison program. Software, Practice&Experience, 1511, 1025-1040.
[20]
Mockus, A., Fielding, R. T.,&Herbsleb, J. D. 2002. Two case studies of open source software development: Apache and Mozilla. ACM Transactions on Software Engineering and Methodology, 113, 309-346.
[21]
Myers, E. W. 1986. An ond difference algorithm and its variations. Algorithmica, 1, 251-266.
[22]
Pan, K., Kim, S.,&Whitehead, E. J.Jr. 2009. Toward an understanding of bug fix patterns. Empirical Software Engineering, 143, 286-315.
[23]
Robles, G.,&Gonzáález-Barahona, J. M. 2006. Contributor turnover in libre software projects. In Proceedings of the IFIP Open Source Software Conference Vol. 203, pp. 273-286.
[24]
Robles, G., González-Barahona, J. M.,&Guervóós, J. J. M. 2006. Beyond source code: The importance of other artifacts in software development a case study. Journal of Systems and Software, 799, 1233-1248.
[25]
¿liwerski, J., Zimmermann, T.,&Zeller, A. 2005. When do changes induce fixes? In Proceedings of the International Workshop on Mining Software Repositories pp. 1-5. New York, NY: ACM.
[26]
Ukkonen, E. 1985. Algorithms for approximate string matching. Information and Control, 641-3, 100-118.
[27]
Ye, Y., Nakakoji, K., Yamamoto, Y.,&Kishida, K. 2004. The co-evolution of systems and communities in Free and Open Source software development. In Koch, S. Ed., Free/Open Source software development pp. 59-82. Hershey, PA: Idea Group.
[28]
Zimmermann, T., Kim, S., Zeller, A.,&Whitehead, E. J., Jr. 2006. Mining version archives for co-changed lines. In Proceedings of the International Workshop on Mining Software Repositories pp. 72-75. New York, NY: ACM.

Cited By

View all
  • (2021)Quick remedy commits and their impact on mining software repositoriesEmpirical Software Engineering10.1007/s10664-021-10051-z27:1Online publication date: 28-Oct-2021
  • (2018)What if a bug has a different origin?Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3239235.3267436(1-4)Online publication date: 11-Oct-2018
  • (2017)How much time did it take to notify a bug?Proceedings of the 8th Workshop on Emerging Trends in Software Metrics10.5555/3106039.3106047(29-35)Online publication date: 20-May-2017
  • Show More Cited By
  1. Are Developers Fixing Their Own Bugs?: Tracing Bug-Fixing and Bug-Seeding Committers

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image International Journal of Open Source Software and Processes
    International Journal of Open Source Software and Processes  Volume 3, Issue 2
    April 2011
    78 pages
    ISSN:1942-3926
    EISSN:1942-3934
    Issue’s Table of Contents

    Publisher

    IGI Global

    United States

    Publication History

    Published: 01 April 2011

    Author Tags

    1. Bug-Fixing
    2. Bug-Seeding
    3. Buggy Code
    4. FLOSS Projects
    5. Open Source Software OSS

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 01 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Quick remedy commits and their impact on mining software repositoriesEmpirical Software Engineering10.1007/s10664-021-10051-z27:1Online publication date: 28-Oct-2021
    • (2018)What if a bug has a different origin?Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3239235.3267436(1-4)Online publication date: 11-Oct-2018
    • (2017)How much time did it take to notify a bug?Proceedings of the 8th Workshop on Emerging Trends in Software Metrics10.5555/3106039.3106047(29-35)Online publication date: 20-May-2017
    • (2014)Open Source Software Adaptation in AfricaInternational Journal of Open Source Software and Processes10.4018/ijossp.20140101015:1(1-15)Online publication date: 1-Jan-2014
    • (2013)Why so complicated? simple term filtering and weighting for location-based bug report assignment recommendationProceedings of the 10th Working Conference on Mining Software Repositories10.5555/2487085.2487089(2-11)Online publication date: 18-May-2013

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media