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

Guamán Coronel, Daniel Alejandro (2021). SIRA: An energy-efficiency and technical debt oriented process for software architecture reconstruction. Thesis (Doctoral), E.T.S.I. de Sistemas Informáticos (UPM). https://doi.org/10.20868/UPM.thesis.69219.

Description

Title: SIRA: An energy-efficiency and technical debt oriented process for software architecture reconstruction
Author/s:
  • Guamán Coronel, Daniel Alejandro
Contributor/s:
  • Pérez Benedí, Jennifer
Item Type: Thesis (Doctoral)
Read date: 2021
Subjects:
Freetext Keywords: software architecture; software architecture reconstruction; reverse engineering; reverse engineering process; software architecture; sustainability; technical debt; Model-Based Engineering approach; metamodel; source code analysis; reference process; technical debt; software quality; code smells; clustering; design decision; energy consumption; energy smells; green software; ISO/IEC14102:2008; machine learning; model-view-controller; Self-Organizing Maps (SOM); software metrics; software quality
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only until 9 June 2023 - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (15MB)

Abstract

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.

More information

Item ID: 69219
DC Identifier: https://oa.upm.es/69219/
OAI Identifier: oai:oa.upm.es:69219
DOI: 10.20868/UPM.thesis.69219
Deposited by: Archivo Digital UPM 2
Deposited on: 09 Dec 2021 09:01
Last Modified: 21 Dec 2021 12:08
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM