skip to main content
10.1145/2597008.2597147acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Amalgamating source code authors, maintainers, and change proneness to triage change requests

Published: 02 June 2014 Publication History

Abstract

The paper presents an approach, namely iMacPro, to recommend developers who are most likely to implement incoming change requests. iMacPro amalgamates the textual similarity between the given change request and source code, change proneness information, authors, and maintainers of a software system. Latent Semantic Indexing (LSI) and a lightweight analysis of source code, and its commits from the software repository, are used. The basic premise of iMacPro is that the authors and maintainers of the relevant source code, which is change prone, to a given change request are most likely to best assist with its resolution. iMacPro unifies these sources in a unique way to perform its task, which was not investigated and reported in the literature previously.
An empirical study on three open source systems, ArgoUML, JabRef, and jEdit, was conducted to assess the effectiveness of iMacPro. A number of change requests from these systems were used in the evaluated benchmark. Recall values for top one, five, and ten recommended developers are reported. Furthermore, a comparative study with a previous approach that uses the source-code authorship information for developer recommendation was performed. Results show that iMacPro could provide recall gains from 30% to 180% over its subjected competitor with statistical significance.

References

[1]
J. Anvik, L. Hiew, and G. C. Murphy. Who should fix this bug? In proceedings of 28th ACM International Conference on Software Engineering, ICSE ’06, pages 361–370, 2006.
[2]
J. Anvik and G. Murphy. Determining implementation expertise from bug reports. In proceedings of fourth International Workshop on Mining Software Repositories (MSR), 2007 ICSE Workshops MSR ’07, pages 2–2, 2007.
[3]
A. Bachmann, C. Bird, F. Rahman, P. Devanbu, and A. Bernstein. The missing links: Bugs and bug-fix commits. In proceedings of Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE ’10, pages 97–106, 2010.
[4]
A. Begel, Y. P. Khoo, and T. Zimmermann. Codebook: Discovering and exploiting relationships in software repositories. In proceedings of 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE ’10, pages 125–134, 2010.
[5]
N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, and T. Zimmermann. What makes a good bug report? In proceedings of 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT ’08/FSE-16, pages 308–318, 2008.
[6]
N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim. Extracting structural information from bug reports. In proceedings of 2008 International Working Conference on Mining Software Repositories, MSR ’08, pages 27–30, New York, NY, USA, 2008. ACM.
[7]
C. Bird, A. Gourley, P. Devanbu, M. Gertz, and A. Swaminathan. Mining email social networks. In proceedings of 2006 International Workshop on Mining Software Repositories, MSR ’06, pages 137–143, 2006.
[8]
C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. Devanbu. Don’t touch my code!: Examining the effects of ownership on software quality. In proceedings of 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE ’11, pages 4–14, 2011.
[9]
G. Bortis and A. v. d. Hoek. Porchlight: A tag-based approach to bug triaging. In proceedings of 2013 International Conference on Software Engineering, ICSE ’13, pages 342–351. IEEE Press, 2013.
[10]
M. Cataldo, P. A. Wagstrom, J. D. Herbsleb, and K. M. Carley. Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In proceedings of 2006 20th Anniversary Conference on Computer Supported Cooperative Work, CSCW ’06, pages 353–362, 2006.
[11]
C. S. Corley, E. A. Kammer, and N. A. Kraft. Modeling the ownership of source code topics. In proceedings of IEEE 20th International Conference on Program Comprehension (ICPC), 2012, pages 173–182, 2012.
[12]
S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R. Harshman. Indexing by latent semantic analysis. JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCE, 41(6):391–407, 1990.
[13]
C. Del Rosso. Comprehend and analyze knowledge networks to improve software evolution. J. Softw. Maint. Evol., 21(3):189–215, May 2009.
[14]
M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In proceedings of International Conference on Software Maintenance, 2003. ICSM 2003., pages 23–32, 2003.
[15]
D. German. An empirical study of fine-grained software modifications. In proceedings of 20th IEEE International Conference on Software Maintenance, 2004., pages 316–325, 2004.
[16]
D. M. German. A study of the contributors of postgresql. In proceedings of 2006 ACM International Workshop on Mining Software Repositories, MSR ’06, pages 163–164, New York, NY, USA, 2006.
[17]
G. Jeong, S. Kim, and T. Zimmermann. Improving bug triage with bug tossing graphs. In proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC/FSE ’09, pages 111–120, New York, NY, USA, 2009. ACM.
[18]
H. Kagdi, M. Gethers, D. Poshyvanyk, and M. Hammad. Assigning change requests to software developers. Journal of Software: Evolution and Process, 24(1):3–33, 2012.
[19]
M. Linares-Vasquez, K. Hossen, H. Dang, H. Kagdi, M. Gethers, and D. Poshyvanyk. Triaging incoming change requests: Bug or commit history, or code authorship? In proceedings of 28th IEEE International Conference on Software Maintenance (ICSM), 2012, pages 451–460, 2012.
[20]
D. Ma, D. Schuler, T. Zimmermann, and J. Sillito. Expert recommendation with usage expertise. In proceedings of IEEE International Conference on Software Maintenance,ICSM 2009., pages 535–538, 2009.
[21]
D. Matter, A. Kuhn, and O. Nierstrasz. Assigning bug reports using a vocabulary-based expertise model of developers. In proceedings of 6th IEEE International Working Conference on Mining Software Repositories, 2009. MSR ’09., pages 131–140, 2009.
[22]
D. W. McDonald and M. S. Ackerman. Expertise recommender: A flexible recommendation system and architecture. In proceedings of 2000 ACM Conference on Computer Supported Cooperative Work, CSCW ’00, pages 231–240, New York, NY, USA, 2000. ACM.
[23]
S. Minto and G. Murphy. Recommending emergent teams. In proceedings of fourth International Workshop on Mining Software Repositories, 2007. ICSE Workshops MSR ’07., pages 5–5, 2007.
[24]
A. Mockus and J. D. Herbsleb. Expertise browser: A quantitative approach to identifying expertise. In proceedings of 24th International Conference on Software Engineering, ICSE ’02, pages 503–512, New York, NY, USA, 2002. ACM.
[25]
L. Moonen. Lightweight impact analysis using island grammars. In proceedings of 10th International Workshop on Program Comprehension (IWPC 2002). IEEE Computer, pages 219–228. Society Press, 2002.
[26]
D. Poshyvanyk and A. Marcus. Combining formal concept analysis with information retrieval for concept location in source code. In proceedings of 15th IEEE International Conference on Program Comprehension, 2007. ICPC ’07., pages 37–48, 2007.
[27]
F. Rahman and P. Devanbu. Ownership, experience and defects: A fine-grained study of authorship. In proceedings of 33rd International Conference on Software Engineering, ICSE ’11, pages 491–500, 2011.
[28]
P. Runeson, M. Alexandersson, and O. Nyholm. Detection of duplicate defect reports using natural language processing. In proceedings of 29th International Conference on Software Engineering, 2007. ICSE 2007., pages 499–510, 2007.
[29]
R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani. Why so complicated? simple term filtering and weighting for location-based bug report assignment recommendation. In proceedings of 10th IEEE Working Conference on Mining Software Repositories (MSR), 2013, pages 2–11, 2013.
[30]
X. Song, B. L. Tseng, C. yung Lin, and M. ting Sun. Expertisenet: Relational and evolutionary expert modeling. In proceedings of User Modeling, 2005, pages 99–108, 2005.
[31]
A. Tamrawi, T. T. Nguyen, J. M. Al-Kofahi, and T. N. Nguyen. Fuzzy set and cache-based approach for bug triaging. In proceedings of 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE ’11, pages 365–375, 2011.
[32]
X. Wang, L. Zhang, T. Xie, J. Anvik, and J. Sun. An approach to detecting duplicate bug reports using natural language and execution information. In proceedings of 30th International Conference on Software Engineering, ICSE ’08, pages 461–470, 2008.
[33]
P. Weissgerber, M. Pohl, and M. Burch. Visual data mining in software archives to detect how developers work together. In proceedings of fourth International Workshop on Mining Software Repositories, 2007. ICSE Workshops MSR ’07., pages 9–9, 2007.
[34]
R. Wu, H. Zhang, S. Kim, and S.-C. Cheung. Relink: Recovering links between bugs and changes. In Proceedings of 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE ’11, pages 15–25, 2011.
[35]
X. Xia, D. Lo, X. Wang, and B. Zhou. Accurate developer recommendation for bug resolution. In Proceedings of 20th Working Conference on Reverse Engineering (WCRE), 2013, pages 72–81, 2013.

Cited By

View all
  • (2024)Navigating Expertise in Configurable Software Systems through the Maze of Variability2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER60148.2024.00053(450-454)Online publication date: 12-Mar-2024
  • (2024)Source code expert identification: Models and applicationInformation and Software Technology10.1016/j.infsof.2024.107445170(107445)Online publication date: Jun-2024
  • (2023)DRIP: Segmenting individual requirements from software requirement documentsSoftware: Practice and Experience10.1002/spe.330354:5(842-874)Online publication date: 19-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
June 2014
325 pages
ISBN:9781450328791
DOI:10.1145/2597008
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Change Request
  2. Expert Developer Recommendation
  3. Software Maintenance
  4. Triaging

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Navigating Expertise in Configurable Software Systems through the Maze of Variability2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER60148.2024.00053(450-454)Online publication date: 12-Mar-2024
  • (2024)Source code expert identification: Models and applicationInformation and Software Technology10.1016/j.infsof.2024.107445170(107445)Online publication date: Jun-2024
  • (2023)DRIP: Segmenting individual requirements from software requirement documentsSoftware: Practice and Experience10.1002/spe.330354:5(842-874)Online publication date: 19-Dec-2023
  • (2022)Identifying Source Code File ExpertsProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546243(125-136)Online publication date: 19-Sep-2022
  • (2022)An Exploratory Study on Self-Fixed Software Vulnerabilities in OSS Projects2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00023(90-100)Online publication date: Mar-2022
  • (2021)Code Authors Hidden in File Revision Histories: An Empirical Study2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC)10.1109/ICPC52881.2021.00016(71-82)Online publication date: May-2021
  • (2021)Investigating the information value of different sources of evidence of developers’ expertise for bug assignment in open‐source projectsIET Software10.1049/iet-sen.2019.038414:7(748-758)Online publication date: 22-Jan-2021
  • (2020)Mining expertise of developers from software repositoriesInternational Journal of Computer Applications in Technology10.1504/ijcat.2020.10658162:3(227-239)Online publication date: 1-Jan-2020
  • (2020)A Developer Recommendation Method Based on Code Quality2020 International Joint Conference on Neural Networks (IJCNN)10.1109/IJCNN48605.2020.9207116(1-8)Online publication date: Jul-2020
  • (2020)Guidelines for evaluating bug‐assignment researchJournal of Software: Evolution and Process10.1002/smr.225032:9Online publication date: 3-Sep-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media