Resultados de búsqueda para Software
A Novel Formulation of the Software Cognitive Complexity Reduction Problem
Reducing the Cognitive Complexity of a piece of code to a given threshold is not trivial. Recently, we modeled Software Cognitive Complexity reduction as an optimization problem and we proposed an approach to assist developers on this task. This approach enumerates sequences of Extract Method refactoring operations until a stopping criteria is met. As result, it returns the minimal sequence of Extract Method refactoring operations found that is able to reduce the Cognitive Complexity of a method to the given threshold. However, enumeration algorithms fail to scale with the code size. The number of refactoring plans can grow exponentially with the number of lines of code. In this paper, instead of enumerating sequences of Extract Method refactoring operations, we model the Cognitive Complexity reduction as an Integer Linear Programming optimization problem. This makes it feasible to use solvers, like CPLEX, to efficiently find optimal solutions in large programs.
Autores: Rubén Saborido / Javier Ferrer / Francisco Chicano /
Palabras Clave: cognitive complexity - Optimization - Software
Interactions between environmental sustainability goals and software product quality: a mapping study
La sostenibilidad es un requisito de calidad que debe tenerse en cuenta a la hora de desarrollar el software. Sin embargo, es posible que existan ciertos conflictos entre el resto de características de calidad que tiene que cumplir un producto software y la sostenibilidad. Teniendo esto en cuenta, en este artículo se ha realizado un estudio de las interacciones existentes entre las características de calidad del producto software y la sostenibilidad dentro del contexto de las aplicaciones software. Para ello, se ha realizado una SMS (Systematic Mapping Study) obteniendo como resultado que la interacción entre la eficiencia del rendimiento y la eficiencia energética es la más estudiada y analizada y que esa interacción es bastante positiva. Además, parece existir una interacción positiva entre la fiabilidad y la usabilidad con respecto a la eficiencia energética, por el contrario, la seguridad tiene un impacto negativo en la eficiencia energética. Por otro lado, la idoneidad funcional y la mantenibilidad pueden tener tanto un impacto positivo como negativo en los diferentes objetivos de la sostenibilidad. En definitiva, se ha detectado que es necesario realizar un esfuerzo mayor de investigación para determinar el impacto que existe en las interacciones entre las características tradicionales de calidad del software y la sostenibilidad. Finalmente, destacar que las propuestas existentes deberían ser validadas en entornos industriales.
Autores: Gabriel Alberto García-Mireles / Ma Ángeles Moraga / Felix Garcia / Coral Calero / Mario Piattini /
Palabras Clave: Software - Software Quality Assessment - Sustainability
Aplicabilidad de la Caracterización de Benchmarks a Modelos de Variabilidad
Los Benchmarks utilizados para comparar el rendimiento de diferentes sistemas presentan una alta variabilidad que puede ser representada en modelos de variabilidad como los feature models. En este artículo presentamos las ventajas de la caracterización de Benchmarks (dada por sus cargas de trabajo), junto a los problemas de escalabilidad y complejidad de selección por objetivos de los Feature Models. Para solucionar esos problemas, formalizamos un modelo de caracterización de paquetes de cargas de trabajo para Feature Models, basándonos en ocho atributos abstractos (operaciones matemáticas, memoria, …). Este modelo y sus ventajas son evaluados en el eco-asistente HADAS, junto a un Benchmark PHP, y al Benchmark de sistemas empotrados BEEBS, obteniendo una capacidad de selección más intuitiva, y un decremento en el tiempo de obtención de configuraciones válidas y sus métricas en HADAS, con respecto a la representación estándar.
Autores: Daniel Jesus Munoz Guerra / Lidia Fuentes /
Palabras Clave: Atributos - Benchmarking - Caracterización - Eficiencia - escalabilidad - Features - Software - Variabilidad
No encuentra los resultados que busca? Prueba nuestra Búsqueda avanzada