Analyzing developer contributions using artifact traceability graphs

buir.contributor.authorÇetin, H. Alperen
buir.contributor.authorTüzün, Eray
buir.contributor.orcidÇetin, H. Alperen|0000-0001-9879-8599
buir.contributor.orcidTüzün, Eray|0000-0002-5550-7816
dc.citation.epage49en_US
dc.citation.issueNumber3en_US
dc.citation.spage1en_US
dc.citation.volumeNumber27en_US
dc.contributor.authorÇetin, H. Alperen
dc.contributor.authorTüzün, Eray
dc.date.accessioned2023-02-15T07:35:55Z
dc.date.available2023-02-15T07:35:55Z
dc.date.issued2022-03-28
dc.departmentDepartment of Computer Engineeringen_US
dc.description.abstractContext In a software project, properly analyzing the contributions of developers could provide valuable insights for decision-makers. The contributions of a developer could be in many different forms such as committing and reviewing code, opening and resolving issues. Previous approaches mainly consider the commit-based contributions which provide an incomplete picture of developer contributions. Objective Different from the traditional commit-based approaches for analyzing developer contributions, we aim to provide a more holistic approach to reflect the rich set of software development activities using artifact traceability graphs. Method For analyzing the developer contributions, we propose a novel categorization of developers (Jacks, Mavens and Connectors) in a software project. We introduce a set of algorithms on artifact traceability graphs to identify key developers, recommend replacements for leaving developers and evaluate knowledge distribution among developers. Results We evaluate our proposed algorithms on six open-source projects and demonstrate that the identified key developers match the top commenters up to 98%, recommended replacements are correct up to 91% and identified knowledge distribution labels are compatible 94% on average with the baseline approaches. Conclusions The proposed algorithms using artifact traceability graphs for analyzing developer contributions could be used by software project decision-makers in several scenarios. (1) Identifying different types of key developers. (2) Finding a replacement developer in large teams. (3) Evaluating the overall knowledge distribution amongst developers to take early precautions.en_US
dc.identifier.doi10.1007/s10664-022-10129-2en_US
dc.identifier.eissn1573-7616en_US
dc.identifier.issn1382-3256en_US
dc.identifier.urihttp://hdl.handle.net/11693/111297en_US
dc.language.isoEnglishen_US
dc.publisherSpringer New York LLCen_US
dc.relation.isversionofhttps://www.doi.org/10.1007/s10664-022-10129-2en_US
dc.source.titleEmpirical Software Engineeringen_US
dc.subjectKey developersen_US
dc.subjectSocial networksen_US
dc.subjectArtifact traceability graphsen_US
dc.subjectDeveloper replacementen_US
dc.subjectDeveloper turnoveren_US
dc.subjectKnowledge distributionen_US
dc.titleAnalyzing developer contributions using artifact traceability graphsen_US
dc.typeArticleen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Analyzing developer contributions using artifact traceability graphs.pdf
Size:
3.23 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.69 KB
Format:
Item-specific license agreed upon to submission
Description: