Tesis:

SIRA: An energy-efficiency and technical debt oriented process for software architecture reconstruction


  • Autor: GUAMÁN CORONEL, Daniel Alejandro

  • Título: SIRA: An energy-efficiency and technical debt oriented process for software architecture reconstruction

  • Fecha: 2021

  • Materia: Sin materia definida

  • Escuela: E.T.S.I. DE SISTEMAS INFORMÁTICOS

  • Departamentos: SISTEMAS INFORMATICOS

  • Acceso electrónico: https://oa.upm.es/69219/

  • Director/a 1º: PÉREZ BENEDÍ, Jennifer

  • Resumen: Nowadays, there is no consensus and a reference process to support architecture reconstruction in a guided or systematized way. To deal with this need, this PhD. thesis has constructed SIRA (Software Improvement in the Reconstruction of Architectures) based on the analysis of previous research works in the area. SIRA is a reference process for software architecture reconstruction in a (semi-) automated way to recommend improvements to software engineers. SIRA consists of four phases: Preprocessing, Extraction, Analysis, and Visualization, and it is supported by the ESTMP taxonomy (Elements, Strategies, Techniques, Mechanisms, and Processes), which is defined in this thesis. This PhD. thesis is concerned about designing and building more sustainable software architectures. Therefore, SIRA is supported by assets that are technical debt and energy consumption-aware. These assets are also results of the thesis in terms of tools, metrics, and models. To identify the tools that can be used in technical debt and energy consumption contexts, this thesis has produced a tailoring systematic-oriented ISO/IEC14102:2008 standard, whose adoption allows us to systematically generate a decision tree to select the most suitable tool. In our case, the decision tree evidenced that there was not a tool aimed to support the evaluation of both, technical debt and green. To that end, the thesis has constructed the tool ARCMEL SCAT (Source Code Analysis Tool), which is based on ARCMEL (Architecture Reconstruction MetamodeL). This metamodel allows to store the required knowledge to support architecture reconstruction, and to manage and parametrize measurements and simple and complex metrics of technical debt and green. SIRA is a process designed to help software engineers during the decision-making of architecture reconstruction by using machine learning and estimation models. In the thesis, we support this decision-making by providing the engineer the extracted knowledge from the classification of MVC applications using Self-Organizing Map (SOM), and by creating a green estimation model called CCsEM. CCsEM, which is a multiple linear regression model that uses the Size, Maintainability, and Complexity to estimate the energy consumption of a software application without its execution. As a result, this thesis provides a framework composed of a process, a tool, a metamodel, knowledge assets and metric models to address architecture reconstruction being aware of energy consumption and technical debt. ----------RESUMEN---------- En la actualidad, no existe un consenso o un proceso de referencia para apoyar la reconstrucción de la arquitectura de forma guiada o sistematizada. Para hacer frente a esta necesidad, a partir de la investigación existente en el área, esta tesis doctoral ha construido SIRA (Software Improvement in the Reconstruction of Architectures). SIRA es un proceso de referencia para la reconstrucción (semi) automática de arquitecturas software que ayuda al ingeniero software mediante la recomendación de mejoras. SIRA consta de cuatro fases: Preprocesamiento, Extracción, Análisis y Visualización y está respaldado por la taxonomía ESTMP (Elementos, Estrategia, Técnicas, Mecanismos y Procesos), la cual se acuña en esta tesis. La tesis se enfoca en el diseño y en la construcción arquitecturas de software sostenibles. Por este motivo, los activos que se han construido para dar soporte a SIRA están especializados en la deuda técnica y el consumo energético. En concreto, estos activos son herramientas, métricas y modelos que también forman parte del resultado de la tesis. Adicionalmente, para identificar las herramientas que se pueden utilizar en contextos de deuda técnica y consumo de energía, se ha personalizado el estándar ISO/IEC14102: 2008 confeccionando una versión con una orientación sistemática, cuya adopción nos permita elegir la herramienta adecuada. En nuestro caso, su adopción nos permitió determinar que no existía una herramienta destinada a apoyar la evaluación tanto de deuda técnica como el consumo energético. Por ello, se ha construido una herramienta que soporte al análisis de la deuda técnica cómo de Green son las aplicaciones. Esta herramienta se ha llamado ARCMEL SCAT, dado que se basa en el metamodelo ARCMEL (Architecture Reconstruction MetamodeL). Este metamodelo permite almacenar el conocimiento necesario para soportar la reconstrucción de la arquitectura y gestionar y parametrizar medidas y métricas simples y complejas de deuda técnica y green. SIRA es un proceso diseñado para ayudar a los ingenieros de software durante la toma de decisiones de reconstrucción de arquitectura mediante el uso de modelos de estimación y aprendizaje automático. En la tesis, apoyamos esta toma de decisiones al brindarle al ingeniero el conocimiento extraído de la clasificación de aplicaciones MVC mediante Self-Organizing Map (SOM) y a través de la creación de un modelo de estimación green llamado CCsEM. CCsEM es un modelo de regresión lineal múltiple que utiliza el tamaño, la capacidad de mantenimiento y la complejidad para estimar el consumo de energía de una aplicación software sin necesidad de ser ejecutada. Como resultado, esta tesis proporciona un marco compuesto por un proceso, una herramienta, un metamodelo, activos de conocimiento y modelos de medición para abordar la reconstrucción de la arquitectura teniendo en cuenta el consumo de energía y la deuda técnica.