F/OSS para el reuso: métricas, desarrollo de herramientas y marco para su evaluación - Ramírez Morales, Jorge (2015)
La disponibilidad de una creciente variedad de Software Libre y de Código Abierto (F/OSS por sus siglas en inglés) distribuidos bajo licencias que permiten explícitamente su modificación y el desarrollo de aplicaciones derivadas, abre nuevas posibilidades para el desarrollo con reutilización. Las características y la información disponible en relación a cada producto de F/OSS es muy heterogénea; no obstante, todas tienen en común la libre disponibilidad del código fuente. Esta tesis presenta nuevas formas de abordar el problema de evaluar y seleccionar productos de F/OSS, centrándose en dos aspectos: La utilización de métricas que pueden obtenerse del código fuente para la evaluación de F/OSS, de modo de caracterizar el diseño general de los productos de software que se consideren para la reutilización. La elaboración de un marco de trabajo para la selección y evaluación de software que sirva de base para una sistematización paulatina de la incorporación de la reutilización de F/OSS en diferentes procesos de desarrollo de software. A partir del estudio de una muestra de 560 versiones diferentes de aplicaciones de F/OSS, y en base al estudio de distribuciones de frecuencia, se proponen umbrales para métricas que reflejan aspectos generales del diseño de una aplicación. Específicamente, se consideran el promedio de la cantidad de métodos por clase y la proporción de referencias a métodos de otras clases respecto del total de métodos definidos en la aplicación. Estas dos medidas se refieren a la aplicación en su conjunto y no a clases o módulos particulares, lo que supone una utilidad diferente de estos valores respecto del papel que cumplen en otros aspectos de la gestión de proyectos de software. En relación al segundo aspecto, se presenta un marco de trabajo en tres etapas, a saber, la detección de oportunidades de reutilización, la búsqueda de recursos candidatos y la selección y evaluación. Este marco es de carácter general, pudiendo adaptarse a diferentes metodologías y contextos de desarrollo. La elaboración del marco parte de la realización de una experiencia de desarrollo con reutilización de F/OSS, la revisión de la literatura relacionada con las temáticas de selección de elementos reutilizables y la evaluación de éstos para su incorporación en nuevos desarrollos. Este marco se aplica posteriormente al desarrollo de una herramienta para computar un conjunto de métricas basadas en el código fuente para dar soporte al proceso de selección de F/OSS para la reutilización tomando en cuenta los umbrales propuestos previamente. De esta forma, se ofrece aquí una base para abordar la reutilización de F/OSS de manera de permitir la sistematización paulatina de esta práctica, brindando un criterio de valoración provisional basado en métricas obtenidas del código fuente.