Ingeniería del Software Guiada por Búsqueda
URI permanente para esta colección:
Artículos en la categoría Ingeniería del Software Guiada por Búsqueda publicados en las Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017).
Notificar un error en esta colección
Examinar
Envíos recientes
Artículo Evaluación de la Mejora de Conjuntos de Casos de Prueba mediante la Prueba de Mutación EvolutivaDelgado Pérez, Pedro; Medina Bulo, María Inmaculada. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La Prueba de Mutación Evolutiva (PME) es una técnica surgida recientemente para reducir el número de mutantes a generar en la prueba de mutaciones y, por consiguiente, su alto coste computacional. Esto se logra a través de un algoritmo genético, el cual trata de localizar la mayor cantidad posible de los mutantes con potencial para guiar a la mejora del conjunto de casos de prueba (denominados mutantes fuertes) en ese subconjunto de mutantes generado. La técnica ha sido evaluada precisamente respecto a esa capacidad de encontrar mutantes fuertes, pero tal análisis omite el hecho de que parte de esos mutantes fuertes puede no aportar a la mejora de las pruebas ya que son mutantes equivalentes. Por esa razón, en este artículo se propone una nueva metodología para la evaluación de la PME. Esta realiza una estimación del refinamiento conseguido del conjunto de pruebas a través de los mutantes seleccionados por el algoritmo genético. Esta metodología se emplea sobre cuatro programas en C++ que aplican orientación a objetos, mostrando que la PME es capaz de aumentar el conjunto de pruebas generando un porcentaje menor de mutantes que la selección aleatoria.Resumen On the use of developers context for automatic refactoring of software anti-patternsMorales, Rodrigo; Soh, Zéphyrin; Khomh, Foutse; Antoniol, Giuliano; Chicano García, José Francisco. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.Publication: Journal of Systems and Software Number: Available On-line Month and Year: May 2016 DOI: 10.1016/j.jss.2016.05.042 Quality indicators of the journal: ISI JCR IF=1.424 (Q1 in CS/SE, Q2 in CS/TM), 5-year IF=1.767, SNIP=2.415, SJR=0.897, CiteScore=2.93 Citations (according to Google Scholar): 4Resumen Multi-Objective Test Case Prioritization in Highly Configurable Systems: A Case StudyParejo Maestre, José Antonio; Sánchez Jerez, Ana Belén; Segura Rueda, Sergio; Ruiz Cortés, Antonio; Lopez-Herrejón, Roberto Erick; Egyed, Alexander. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.Test case prioritization schedules test cases for execution in an order that attempts to accelerate the detection of faults. The order of test cases is determined by prioritization objectives such as covering code or critical components as rapidly as possible. The importance of this technique has been recognized in the context of Highly-Configurable Systems (HCSs), where the potentially huge number of configurations makes testing extremely challenging. However, current approaches for test case prioritization in HCSs suffer from two main limitations. First, the prioritization is usually driven by a single objective which neglects the potential benefits of combining multiple criteria to guide the detection of faults. Second, instead of using industry-strength case studies, evaluations are conducted using synthetic data, which provides no information about the effectiveness of different prioritization objectives. In this paper, we address both limitations by studying 63 combinations of up to three prioritization objectives in accelerating the detection of faults in the Drupal framework. Results show that non-functional properties such as the number of changes in the features are more effective than functional metrics extracted from the configuration model. Results also suggest that multi-objective prioritization typically results in faster fault detection than mono-objective prioritization. Indicios de calidad de la revista: Journal of Systems and Software (Elsevier) ISSN: 0164-1212 Factor de impacto 2015: 1,424 Factor de impacto a 5 años: 1,767 Indexada en dos categorías: Computer Science / Theory & Methods: 31/105 (Q2) Computer Science / Software Engineering: 24/106 (Q1) Otros datos: CiteScore: 2.93 Source Normalized Impact per Paper (SNIP): 2.415 SCImago Journal Rank (SJR): 0.897 Indicios de calidad del propio paper: Número de Citas según Google Scholar: 3 Número de lecturas según Research Gate: 73Artículo Búsqueda coevolutiva interactiva aplicada al diseño de softwareRamírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La resolución de tareas de diseño software mediante técnicas de búsqueda plantea dificultades como la exploración efectiva de un gran conjunto de alternativas, cuya calidad no puede ser evaluada sólo en base a medidas software. Con el fin de solventarlas, es necesario considerar técnicas más avanzadas que se aproximen más a cómo los ingenieros diseñan en la realidad. Los modelos coevolutivos permiten descomponer el problema original en varias partes diferenciadas que se resuelven simultáneamente, mientras que la optimización interactiva permite incorporar el conocimiento del ingeniero. Este trabajo propone un modelo que combina ambas técnicas y plantea los retos que conlleva su desarrollo.Resumen Test Case Prioritization of Configurable Cyber-Physical Systems with Weight-Based Search AlgorithmsArrieta, Aitor; Wang, Shuai; Sagardui, Goiuria; Etxeberria, Leire. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.El paper fue publicado en julio de 2016 en la conferencia GECCO (The Genetic and Evolutionary Computation Conference), que es un congreso de clase 2 del ranking SCIE de congresos relevantes. Hasta la fecha, según google scholar, ha recibido un total de dos citas. Cyber-Physical Systems (CPSs) can be found in many sectors (e.g., automotive and aerospace). These systems are usually configurable to give solutions based on different needs. The variability of these systems is large, which implies they can be set into millions of configurations. As a result, different testing processes are needed to efficiently test these systems: the appropriate configurations must be selected and relevant test cases for each configuration must be chosen as well as prioritized. Prioritizing the order in which the test cases are executed reduces the time for detecting faults in these kinds of systems. However, the test suite size is often large and exploring all the possible test case orders is infeasible. Search algorithms can help find optimal solutions from a large solution space. This paper presents an approach based on weight-based search algorithms for prioritizing the test cases for configurable CPSs. We empirically evaluate the performance of the following algorithms with two case studies: Weight-Based Genetic Algorithms, Random Weighted Genetic Algorithms, Greedy, Alternating Variable Method and Random Search (RS). Our results suggest that all the search algorithms outperform RS, which is taken as a baseline. Local search algorithms have shown better performance than global search algorithms.Artículo Hacia un Algoritmo Exacto para Resolver el Problema de Agrupamiento de Módulos SoftwareDomínguez Ríos, Miguel Ángel; Chicano García, José Francisco; Alba, Enrique. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.El problema de agrupamiento de módulos software consiste en encontrar una partición del conjunto de módulos de un determinado software de tal forma que se maximice la cohesión entre módulos pertenecientes al mismo componente de la partición a la vez que se minimiza el acoplamiento entre módulos pertenecientes a distintos componentes. El objetivo es estructurar el software de una manera que mejore el desarrollo y la mantenibilidad del sistema. Este problema, conocido como emph{Software Module Clustering}, ha sido abordado en el pasado usando principalmente algoritmos heurísticos y metaheurísticas. En este trabajo describimos un algoritmo exacto basado en ramificación y poda.Artículo Impacto de las métricas CK en la refactorizacióndel Sagrado, José; del Aguila, Isabel María; Bosch, Alfonso J.; Chicano García, José Francisco. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.Las métricas CK son las que alcanzan un mayor consenso, a nivel de diseño orientado a objetos, sobre la idenficación de la necesidad de una refactorización. Para estimar el impacto de estas métricas de calidad en la refactorización en este trabajo nos basamos en la reducción de la entropía. Para medir este impacto empleamos datos validados de refactorizaciones y métricas de código de varios proyectos open source. Las valoraciones obtenidas se combinan para ordenar las métricas y proponemos un método para medir su influencia incluso en aquellas situaciones en las que no todas las métricas puedan ser valoradas o cuando esta valoración no alcance unos tasas suficientemente representativas. Los resultados obtenidos con el enfoque aplicado están en la misma línea de trabajos previos de otros autores.Artículo Predicción de módulos defectuosos como un problema de optimización multiobjetivoMartínez Ballesteros, María; Riquelme Santos, José C.; Ruiz, Roberto; Rodríguez, Daniel. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La dificultad de aplicar técnicas de análisis de datos al problema de la calidad del software radica principalmente en dos razones: la ausencia de datos generalistas y de herramientas específicas. En este trabajo exponemos los primeros pasos de una iniciativa para paliar estos inconvenientes. Con respecto al primero, hemos trabajado con dos conjuntos de datos públicos que han sido tratados de forma conjunta para poder lograr modelos más generales. Para el segundo propósito se ha aplicado un algoritmo multiobjetivo que mediante reglas cuantitativas establezca cuáles son los íımites empíricos de los atributos que miden la complejidad a partir de los cuales la probabilidad de error aumenta significativamente e incluso la posibilidad de medir ese aumento.Artículo Mejora del Rendimiento de la Prueba de Mutación Evolutiva mediante la Reducción de Mutantes EquivalentesDelgado Pérez, Pedro; Medina Bulo, María Inmaculada. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La Prueba de Mutación Evolutiva (PME) busca la generación de un subconjunto de mutantes mediante un algoritmo genético con el objetivo de mejorar el conjunto de casos de prueba a un menor coste. A pesar de los resultados positivos obtenidos hasta el momento empleando esta técnica, otros avances paralelos en la prueba de mutaciones pueden aumentar la eficiencia de la PME. En este artículo se propone la incorporación en herramientas que aplican la PME de nuevas técnicas para ayudar a detectar mutantes que son equivalentes al programa original, exponiendo los beneficios de esta fusión.Artículo Descubrimiento de patrones de diseño basado en buenas prácticas: modelo y discusiónBarbudo Lunar, Rafael; Ramírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La complejidad de los sistemas actuales obliga a los ingenieros software a aprender de las buenas prácticas empleadas en proyectos previos como, por ejemplo, el uso de patrones de diseño. Dichos patrones tienen una gran importancia durante la fase de diseño y su posterior implementación genera varias ventajas. En este contexto, se propone el uso de técnicas de minería de datos que ayuden a comprender como otros ingenieros software han implementado dichos patrones. Con la representación adecuada, este conocimiento se podrá utilizar para identificar fragmentos de código susceptibles de ser convertidos en un determinado patrón. Además del modelo, se discuten ventajas y retos asociados.