Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio
- Autores
- Gullino, Mauro
- Año de publicación
- 2020
- Idioma
- español castellano
- Tipo de recurso
- tesis de maestría
- Estado
- versión aceptada
- Colaborador/a o director/a de tesis
- Robiolo, Gabriela
Rossi, Gustavo Héctor - Descripción
- 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.
Magister en Ingeniería de Software
Universidad Nacional de La Plata
Facultad de Informática - Materia
-
Ciencias Informáticas
Predicción
Defectos
Ingeniería de software - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- http://creativecommons.org/licenses/by-nc/4.0/
- Repositorio
- Institución
- Universidad Nacional de La Plata
- OAI Identificador
- oai:sedici.unlp.edu.ar:10915/93237
Ver los metadatos del registro completo
id |
SEDICI_a18bc8c57f35c239da6733a96fe6c535 |
---|---|
oai_identifier_str |
oai:sedici.unlp.edu.ar:10915/93237 |
network_acronym_str |
SEDICI |
repository_id_str |
1329 |
network_name_str |
SEDICI (UNLP) |
spelling |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambioGullino, MauroCiencias InformáticasPredicciónDefectosIngeniería de softwareLa 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.Magister en Ingeniería de SoftwareUniversidad Nacional de La PlataFacultad de InformáticaRobiolo, GabrielaRossi, Gustavo Héctor2020-03-26info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTesis de maestriahttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/93237https://doi.org/10.35537/10915/93237spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc/4.0/Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T11:19:21Zoai:sedici.unlp.edu.ar:10915/93237Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 11:19:22.186SEDICI (UNLP) - Universidad Nacional de La Platafalse |
dc.title.none.fl_str_mv |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
title |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
spellingShingle |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio Gullino, Mauro Ciencias Informáticas Predicción Defectos Ingeniería de software |
title_short |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
title_full |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
title_fullStr |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
title_full_unstemmed |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
title_sort |
Predicción de defectos en un lenguaje dinámicamente tipado usando métricas estáticas y de cambio |
dc.creator.none.fl_str_mv |
Gullino, Mauro |
author |
Gullino, Mauro |
author_facet |
Gullino, Mauro |
author_role |
author |
dc.contributor.none.fl_str_mv |
Robiolo, Gabriela Rossi, Gustavo Héctor |
dc.subject.none.fl_str_mv |
Ciencias Informáticas Predicción Defectos Ingeniería de software |
topic |
Ciencias Informáticas Predicción Defectos Ingeniería de software |
dc.description.none.fl_txt_mv |
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. Magister en Ingeniería de Software Universidad Nacional de La Plata Facultad de Informática |
description |
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. |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020-03-26 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/masterThesis info:eu-repo/semantics/acceptedVersion Tesis de maestria http://purl.org/coar/resource_type/c_bdcc info:ar-repo/semantics/tesisDeMaestria |
format |
masterThesis |
status_str |
acceptedVersion |
dc.identifier.none.fl_str_mv |
http://sedici.unlp.edu.ar/handle/10915/93237 https://doi.org/10.35537/10915/93237 |
url |
http://sedici.unlp.edu.ar/handle/10915/93237 https://doi.org/10.35537/10915/93237 |
dc.language.none.fl_str_mv |
spa |
language |
spa |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess http://creativecommons.org/licenses/by-nc/4.0/ Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc/4.0/ Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:SEDICI (UNLP) instname:Universidad Nacional de La Plata instacron:UNLP |
reponame_str |
SEDICI (UNLP) |
collection |
SEDICI (UNLP) |
instname_str |
Universidad Nacional de La Plata |
instacron_str |
UNLP |
institution |
UNLP |
repository.name.fl_str_mv |
SEDICI (UNLP) - Universidad Nacional de La Plata |
repository.mail.fl_str_mv |
alira@sedici.unlp.edu.ar |
_version_ |
1844616067322740736 |
score |
13.070432 |