Publicado el

Prediciendo Evaluaciones de Expertos en Revisiones de Código de Software

3 min read
Autores
  • avatar
    Nombre
    livingtheparadox.net
    Twitter
Imagen del post

Este artículo explora el uso de un modelo algorítmico para predecir las evaluaciones de expertos sobre commits de código de software, centrándose en aspectos que a menudo se pasan por alto en las revisiones manuales de código debido a limitaciones de tiempo. La investigación tiene como objetivo complementar, no reemplazar, la revisión humana al proporcionar insights automatizados en áreas como el tiempo de codificación, el tiempo de implementación y la complejidad del código.

Introducción

La investigación tiene como objetivo complementar, no reemplazar, la revisión humana al proporcionar insights automatizados en áreas como el tiempo de codificación, el tiempo de implementación y la complejidad del código.

Metodología

Se entrenó un modelo de random forest con evaluaciones de diez expertos en Java en 70 commits de código, cubriendo aspectos como la estructura del código, métricas de calidad, detalles de implementación y elementos arquitectónicos. El modelo utiliza análisis estático de código vinculado a commits de Git.

Resultados

El modelo demostró fuertes correlaciones con el juicio humano, particularmente para el tiempo de codificación (r=0.82) y el tiempo de implementación (r=0.86). Esto sugiere un potencial para una estimación precisa y automatizada del esfuerzo. Si bien fue efectivo para métricas basadas en el tiempo, el rendimiento del modelo fue menos robusto para cualidades subjetivas como la mantenibilidad del código y la experiencia del autor, destacando el desafío de automatizar estas evaluaciones matizadas. Esto probablemente fue influenciado por un menor acuerdo entre evaluadores en estos aspectos subjetivos.

Discusión

La eficiencia del modelo (tiempo de procesamiento de menos de un segundo por commit) ofrece ahorros de tiempo significativos en comparación con las revisiones manuales, permitiendo que los revisores humanos se concentren en aspectos de mayor nivel.

Conclusión

Esta investigación indica que los modelos algorítmicos pueden complementar efectivamente las revisiones manuales de código al proporcionar evaluaciones rápidas y objetivas de ciertas características del código, especialmente aquellas relacionadas con el esfuerzo de desarrollo. Este enfoque permite que los revisores humanos se concentren en aspectos más complejos y subjetivos de la calidad del código, lo que en última instancia conduce a un proceso de revisión más eficiente y completo. Se necesita más investigación para mejorar el manejo del modelo de cualidades subjetivas y extender su aplicabilidad a otros lenguajes de programación.

Fuente(s):


¿Disfrutaste este post? ¿Lo encontraste útil? No dudes en dejar un comentario a continuación para compartir tus pensamientos o hacer preguntas. Se requiere una cuenta de GitHub para unirse a la discusión.