Evaluating each developer’s contributions within collaborative software projects is essential for effective resource allocation, recognition of expertise, and identifying training needs. Traditional metrics such as lines of code (LOCs) or the number of commits fail to provide a comprehensive context since code varies in importance and complexity. On the other hand, writing reusable code is an essential coding practice that can serve as a metric for measuring the quality of the developers’ contributions. Our goal is to develop a methodology and a practical tool for evaluating developers’ reusable code contributions within a software project. Drawing inspiration from Hirsch’s H-Index, a benchmark metric in academia, we constructed the Developer H-Index (DH-Index). It tracks each method’s usage throughout the project identified via call graphs akin to citations in academic research and links these references to the respective developer contributions. We also created a variation of the DH-Index that weighs method usage with the Lines-of-Code-Weighted Developer H-Index (LWDH-Index). We developed DevScholar, a publicly available prototype that extracts and analyzes method-based contributions from software developers of a Java project. We compared our tool’s capabilities with GitHub Insights on four Open Source Software (OSS) projects, Apollo, Spring Boot, Retrofit, and Dubbo but only presenting the results of Apollo project. LWDH-Index resulted in a stronger metric, as it smoothed out the effect of the disproportionate contribution of frequently called methods that are too simple and of rarely called methods that are too long. In conclusion, compared to simple metrics based only on LOC or the number of commits, the DH-Index and LWDH-Index offer additional perspectives for evaluating developers’ contributions to reusable code within a software project team.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

DevScholar: A Reuse-Based Approach for Evaluating Developer Contribution

  • Yahya Elnouby,
  • Selen Uysal,
  • Umut Cihan,
  • Hakan Erdogmus,
  • Eray Tüzün

摘要

Evaluating each developer’s contributions within collaborative software projects is essential for effective resource allocation, recognition of expertise, and identifying training needs. Traditional metrics such as lines of code (LOCs) or the number of commits fail to provide a comprehensive context since code varies in importance and complexity. On the other hand, writing reusable code is an essential coding practice that can serve as a metric for measuring the quality of the developers’ contributions. Our goal is to develop a methodology and a practical tool for evaluating developers’ reusable code contributions within a software project. Drawing inspiration from Hirsch’s H-Index, a benchmark metric in academia, we constructed the Developer H-Index (DH-Index). It tracks each method’s usage throughout the project identified via call graphs akin to citations in academic research and links these references to the respective developer contributions. We also created a variation of the DH-Index that weighs method usage with the Lines-of-Code-Weighted Developer H-Index (LWDH-Index). We developed DevScholar, a publicly available prototype that extracts and analyzes method-based contributions from software developers of a Java project. We compared our tool’s capabilities with GitHub Insights on four Open Source Software (OSS) projects, Apollo, Spring Boot, Retrofit, and Dubbo but only presenting the results of Apollo project. LWDH-Index resulted in a stronger metric, as it smoothed out the effect of the disproportionate contribution of frequently called methods that are too simple and of rarely called methods that are too long. In conclusion, compared to simple metrics based only on LOC or the number of commits, the DH-Index and LWDH-Index offer additional perspectives for evaluating developers’ contributions to reusable code within a software project team.