Navegación

Búsqueda

Búsqueda avanzada

El autor Yania Crespo ha publicado 7 artículo(s):

1 - Evaluación de la eficiencia de métodos de identificación del defecto de diseño GodClass

La identificación de defectos de diseño en entidades de código es una de las tareas del proceso de mantenimiento del software que sirve para evaluar la calidad de un sistema. Un defecto de diseño describe una situación que sugiere un problema potencial en la estructura del software. La intencíon de diseño de la entidad, que puede ser expresada como estereotipos de clasificadores estándar de UML, proporciona una fuente de información utilizada en algunas definiciones textuales de defectos. En las entidades de código de un sistema software orientado a objetos la información de estereotipos UML no suele estar disponible explícitamente, aunque los diseñadores y programadores la hayan tenido en cuenta en sus soluciones. En la práctica de la automatización de detección de defectos de diseño, esta informacíon es obviada a pesar de su posible utilidad en el proceso de identificacíon de defectos. Actualmente existen métodos de identificación del defecto de diseño GodClass basados en métricas de código. Incluso existen herramientas que lo automatizan, como InCode y JDeodorant, ambas avaladas con importantes publicaciones de investigación, en las que esta información no se tiene en cuenta. Nosotros proponemos utilizar técnicas de aprendizaje supervisado basado en clasificadores de tipo árbol de decisíon, para modelar el problema de la deteccíon de defectos de diseño como una clasificación de entidades de código «con defecto» o «sin defecto». La clasificacíon inicial en la fase de entrenamiento se puede obtener a partir de los métodos actuales. Este trabajo presenta un caso de estudio para evaluar cómo influye la información relativa a la naturaleza de diseño de la entidad en la deteccíon de defecto GodClass para distintos clasificadores. La evaluación consiste en comparar de medidas de rendimiento del clasificador obtenidas en la fase de entrenamiento (Recuperación, Precisíon y F-Measure). Las resultados avalan la validez de considerar la naturaleza de diseño de la entidad en los métodos de identificacíon de defectos de código.

Autores: Carlos López / Esperanza Manso / Yania Crespo / 
Palabras Clave: aprendizaje supervisado - defectos de diseño orientados a objetos - estereotipo de clasificadores UML - experimentacíon en ingeniería del software

2 - Un marco y flujo de trabajo para la coordinación y el aseguramiento de la calidad en el desarrollo de IAMs en Vensim

En este artículo se presenta el trabajo en progreso para la definición e implantación de un marco y flujo de trabajo que permite el desarrollo coordinado de IAMs, el control de la calidad del modelo y la comunicación del conocimiento entre los interesados.

Autores: Yania Crespo / Daniel Bazaco / Juan Herruzo / Panos Stratis / 
Palabras Clave: Calidad - diccionario de datos - IAM - SonarQube - Workflow

3 - Alf como lenguaje de especificación de refactorizaciones

Las definiciones más habituales de operaciones de refactorización se centran en un lenguaje particular. Sin embargo, una de las líneas de investigacíon en refactorizacíon en los últimos años aborda la independencia del lenguaje en la definicíon de refactorizaciones, que posteriormente deberá ser implementada para lenguajes particulares. Se han aportado diferentes soluciones para representar el código con cierta independencia del lenguaje, sin embargo la definicíon e implementacíon de refactorizaciones continúa siendo mayoritariamente dependiente del lenguaje. En cuanto a esta definicíon e implementacíon de refactorizaciones, se aprecia un importante salto bien sea desde las definiciones de refactorizaciones en forma de recetas, bien sea desde las definiciones formales utilizando lógica de predicados o reescritura de grafos, a la implementacíon real de la refactorizacíon. En este trabajo, tomando como base un metamodelo UML definido para la representacíon de código de forma independiente del lenguaje, se valida la aplicacíon del lenguaje de acciones Alf como lenguaje para la definicíon de refactorizaciones. El uso de Alf tiene una doble implicacíon. Por una parte se consigue acercar la definicíon de refactorizaciones a su posterior implementacíon, dado que se produce una traduccíon con menor esfuerzo desde el lenguaje de acciones al lenguaje de implementacíon elegido. Por otra parte, el uso de Alf y los parsers asociados, permiten validar que el metamodelo contiene la informacíon suficiente para definir refactorizaciones.

Autores: Raúl Marticorena / Yania Crespo / 
Palabras Clave: lenguaje de acciones Alf - lenguaje de modelado UML - metamodelo - Refactorización

4 - Software Design Smell Detection: a systematic mapping study

Design Smells are indicators of situations that negatively affect software quality attributes such as understandability, testability, extensibility, reusability, and maintainability in general. Improving maintainability is one of the cornerstones of making software evolution easier. Hence, Design Smell Detection is important in helping developers when making decisions that can improve software evolution processes. After a long period of research, it is important toorganize the knowledge produced so far and to identify current challenges and future trends. In this paper, we analyze 18 years of research into Design Smell Detection. There is a wide variety of terms that have been used in the literature to describe concepts which are similar to what we have defined as «Design Smells», such as design defect, design flaw, anomaly, pitfall, antipattern, and disharmony. The aim of this paper is to analyze all these terms and include them in the study. We have used the standard systematic literature review method based on a comprehensive set of 395 articles published in different proceedings, journals, and book chapters. We present the results in different dimensions of Design Smell Detection, such as the type or scope of smell, detection approaches, tools, applied techniques, validation evidence, type of artifact in which the smell is detected, resources used in evaluation, supported languages, and relation between detected smells and software quality attributes according to a quality model. The main contributions of this paper are, on the one hand, the application of domain modeling techniques to obtain a conceptual model that allows the organization of the knowledge on Design Smell Detection and a collaborative web application built on that knowledge and, on the other, finding how tendencies have moved across different kinds of smell detection, as well as different approaches and techniques. Key findings for future trendsinclude the fact that all automatic detection tools described in the literature identify Design Smells as a binary decision (having the smell or not), which is an opportunity to evolve to fuzzy and prioritized decisions. We also find that there is a lack of human experts and benchmark validation processes, as well as demonstrating that Design Smell Detection positively influences quality attributes.

Autores: Khalid Alkharabsheh / Yania Crespo / M. Esperanza Manso / Jose Angel Taboada / 
Palabras Clave: Antipatterns - Design Smell - Detection tools - Quality models - Systematic Mapping Study

7 - Factores que tienen en cuenta los desarrolladores en la priorización de smells para su corrección: conclusiones después de una réplica.

La presencia de design smells es uno de los factores que contribuye a aumentar la deuda técnica, es por ello su gestión cobra cada vez más importancia. En este documento se presenta la réplica de un estudio en el que, 10 desarrolladores examinaron issues relacionados con bad smells detectados en un proyecto software con el que no estaban familiarizados, ordenando los que deben modificarse primero, y proporcionando las razones por las que priorizaron así los issues causados por smells. Estas razones sirvieron de base para elaborar un ranking de 13 factores por los que los desarrolladores se guiaron para priorizar la reparación de las clases smells. Este conjunto de 13 factores es el mismo con el que se ha trabajado en esta réplica, con el fin de estudiar si la ordenación de los 13 factores es similar a la obtenida en el estudio original.En esta réplica se incluyen sujetos (35) que sí están familiarizados con los proyectos que examinarán (15) para priorizar las clases con smells. En este caso se considerará solamente el smell God Class. Los resultados de la réplica, cuando se compararon las dos ordenaciones de factores, no son concluyentes, pero sí se ha observado que los dos primeros factores coinciden: «Importancia del Módulo» y «Relevancia de la tarea», y también coinciden los últimos. De esto se puede concluir que toda técnica de priorización de clases detectadas con smell debe tener en cuenta esos dos factores considerados los mas importantes por ambos grupos. Por tanto, las herramientas de soporte a la priorización deben ser capaces de capturar esta información. Otra conclusión obtenida es que el grado de familiaridad de los desarrolladores con los proyectos puede influir en la priorización, y que ésta puede depender del tipo de smell.

Autores: Khalid Alkharabsheh / Yania Crespo / M. Esperanza Manso / Jose Angel Taboada / 
Palabras Clave: Correlación de Spearman - Factores en la Priorización - Priorización de smells - Réplica - Test de Kendall