Catálogo de publicaciones - tesis

Compartir en
redes sociales


Título de Acceso Abierto

Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio

Mauro Gullino Gabriela Robiolo Gustavo Héctor Rossi

acceptedVersion.

Resumen/Descripción – provisto por el repositorio digital
La predicción de defectos es un tema importante en la Ingeniería de Software. Puede utilizarse para evaluar la calidad del producto final, estimando si se cumplen los estándares de calidad contractuales o los impuestos para la aceptación del producto por parte del cliente. También puede facilitar la previsión de los recursos para pruebas o verificación formal. El presente trabajo selecciona un conjunto de métricas estáticas (o de producto) y de cambio (o de proceso) con el objetivo de predecir los defectos de versiones sucesivas. Como método de estimación se utiliza la regresión logística. Se presenta un caso de estudio sobre el proyecto de código abierto MediaWiki, que soporta a Wikipedia. Este producto cuenta con 1000 clases y 365 KLOC. Se han obtenido las métricas estáticas y de cambio durante el período de un año con distintos cortes temporales. Se construyeron herramientas ad hoc para calcular las métricas definidas por autores como Chidamber & Kemerer, Robiolo y Moser. Se busca estudiar la viabilidad de aplicar estas métricas en un lenguaje de programación orientado a objetos diferente, ya que las investigaciones de referencia han trabajado históricamente con lenguajes de tipado estático (principalmente C++ y Java) mientras que MediaWiki se encuentra desarrollado en PHP, que es un lenguaje orientado a objetos dinámicamente tipado, muy utilizado en el desarrollo web de pequeña y mediana escala. A estos efectos, también se proponen métricas nuevas, que buscan medir estos aspectos de tipado del lenguaje y sus efectos en el producto y la calidad del mismo. Para recolectar las métricas de cambio del código fuente se han clasificado manualmente alrededor de 2800 commits de 230 desarrolladores, realizados al repositorio de versiones del proyecto durante el año 2014. Esta clasificación tiene por objeto identificar qué modificaciones al código fuente se pueden imputar a correcciones de defectos (Fault Repairing) y cuáles a introducción de nueva funcionalidad (Feature Introduction), siguiendo el trabajo de Hassan. Esta clasificación permite definir métricas con las cuales construir modelos de predicción de defectos. Se comprueba que la cantidad y tamaño de los cambios de tipo “Feature Introduction” realizados a una clase son los mejores predictores de los defectos futuros de la misma. Además, se comprueba que utilizando métricas de cambio es posible obtener mejores resultados en la predicción que con métricas estáticas, pero las primeras representan un mayor esfuerzo de medición que las segundas.
Palabras clave – provistas por el repositorio digital

Ciencias Informáticas; Predicción; Defectos; Ingeniería de software

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No requiere 2020 SEDICI: Repositorio Institucional de la UNLP (SNRD) acceso abierto

Información

Tipo de recurso:

tesis

Idiomas de la publicación

  • español castellano

País de edición

Argentina

Fecha de publicación

Información sobre licencias CC

https://creativecommons.org/licenses/by-nc/4.0/