Escudo de la República de Colombia
Sistema Nacional de Biliotecas - Repositorio Institucional Universidad Nacional de Colombia Biblioteca Digital - Repositorio Institucional UN Sistema Nacional de Bibliotecas UN

A computational solution for the software refactoring problem: from a formalism toward an optimization approach

Nader Palacio, David Alberto (2017) A computational solution for the software refactoring problem: from a formalism toward an optimization approach. Maestría thesis, Universidad Nacional de Colombia - Sede Bogotá.

Texto completo

[img]
Vista previa
PDF - Versión Aceptada
Available under License Creative Commons Attribution Non-commercial No Derivatives.

9MB

Resumen

Abstract: Software Refactoring consists in reconstructing the code design of an object- oriented system without affecting the external functionality. Common refactoring tasks, in the initial steps, detect the source code components to be affected and recommend accurate Refactoring Operations to be applied to those components (an estimation problem). In this document, the author defines, develops and evaluates an Artificial Refactoring Hybrid Adaptive Technique (ArHaT) to estimate refactorings as a combi- natorial model. The author investigated whether Refactoring Impact Prediction yields sets of artificial refactoring operations before implementing them into the code. ArHaT estimates the sets of Refactoring Operations according to some predefined weight values of the quality metrics. The weight values or coefficients capture the developer error-prone knowledge of the code in the objective function. The author conducted several fitness performance evaluations in two open software systems and organized them as a set of experiments. The goal of the experiments is to minimize a ratio between impacted quality metrics and actual quality metrics. Hill-Climbing, Simulated Annealing, and Hybrid Adaptive Evolutionary Algorithm assembled feasible refactorings, yet the latter accomplished the best performance. This research establishes the fundamentals of the automation of the refactoring problem and contributes to reducing the gap between the software defect prediction and the software refactoring.

Tipo de documento:Tesis/trabajos de grado - Thesis (Maestría)
Colaborador / Asesor:Gomez Perdomo, Jonatan
Información adicional:Magíster en Ingeniería de sistemas y computación; Línea de investigación: Computación Evolutiva y Mantenimiento de Software
Palabras clave:Software Engineering, Refactoring, Optimization
Temática:6 Tecnología (ciencias aplicadas) / Technology > 62 Ingeniería y operaciones afines / Engineering
Unidad administrativa:Sede Bogotá > Facultad de Ingeniería > Departamento de Ingeniería de Sistemas e Industrial
Código ID:60911
Enviado por : Ing. David Alberto Nader Palacio
Enviado el día :06 Dec 2017 13:36
Ultima modificación:06 Dec 2017 13:38
Ultima modificación:06 Dec 2017 13:38
Exportar:Clic aquí
Estadísticas:Clic aquí
Compartir:

Solamente administradores del repositorio: página de control del ítem

Vicerrectoría de Investigación: Número uno en investigación
Indexado por:
Indexado por Scholar Google WorldCat DRIVER Registry of Open Access Repositories OpenDOAR Metabiblioteca BDCOL OAIster Red de repositorios latinoamericanos DSpace BASE Open archives La referencia Colombiae Open Access Theses and Dissertations Tesis latinoamericanas CLACSO
Este sitio web se ve mejor en Firefox