Mining software repositories to automatically measure developer code contributions

Fecha

2023

Autores

Hamer Campos, Sivana Alexa

Título de la revista

ISSN de la revista

Título del volumen

Editor

Resumen

Las personas desarrolladoras contribuyen a los proyectos en una variedad de formas y actividades diferentes. La evaluación de las contribuciones puede ayudar a los procesos, productos, desarrolladores y proyectos de software en la educación, investigación, industria y proyectos de software abierto. Los procedimientos actuales típicamente extraen medidas de repositorios de software. Se necesitan procedimientos y herramientas de medición para capturar mejor la naturaleza compleja y multidimensional de las contribuciones objetivamente, ayudando en la adopción. Por lo tanto, el objetivo de esta tesis es desarrollar un procedimiento automatizado para medir las contribuciones de código de las personas desarrolladoras mediante la minería de repositorios de software. Para lograr esto, seguimos las guías de la ciencia del diseño para desarrollar la herramienta de procedimiento de medición por medio de tres ciclos principales. Primero, se realizó un mapeo sistemático de 166 estudios para caracterizar cómo se han investigado las contribuciones de las personas desarrolladoras en la ingeniería de software. Segundo, se propuso e implementó un procedimiento automatizado de tres fases que extrae datos de repositorios que miden seis dimensiones de las contribuciones de las personas desarrolladoras. Finalmente, la efectividad del procedimiento fue evaluada en ocho estudios empíricos. Analizamos 13 proyectos distintos de ingeniería de software educativo, con un total de 246 estudiantes desarrolladores. A lo largo de nuestras evaluaciones empíricas, encontramos evidencia de la efectividad, aceptación, aplicabilidad y utilidad del enfoque. La investigación puede aprovechar el procedimiento automatizado y los conocimientos adquiridos para trabajos futuros.
Developers contribute to projects in a variety of ways and different activities. Assessment of contributions can help education, research, industry, and open-source software processes, products, developers, and projects. Current procedures typically mine software repositories for measures. Measurement procedures and tools are needed to better objectively capture the complex and multi-dimensional nature of contributions, aiding in the adoption. Therefore, the objective of this thesis is to develop an automated procedure to measure developer code contributions by mining software repositories. To achieve this, we followed design science guidelines to develop the measurement procedure tool through the following three main cycles. First, a systematic mapping study of 166 studies was conducted to characterize how developer contributions have been researched in software engineering. Second, an automated three-phase procedure was proposed and implemented that mines data from repositories measuring six dimensions of developer contributions. Finally, the procedure’s effectiveness was evaluated in eight empirical studies. We analyzed 13 distinct educational software engineering projects, totaling 246 student developers. Throughout our empirical evaluations, we found evidence of the effectiveness, acceptance, applicability, and utility of the approach. Research can take advantage of the automated procedure and insights gained in future work.

Descripción

Palabras clave

COMPUTER SOFTWARE, AUTOMATION, ENGINEERING, OPEN DATA, EDUCATIONAL SOFTWARE, OPEN SOURCE SOFTWARE

Citación