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 XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018).
Notificar un error en esta colección
Examinar
Envíos recientes
Artículo CMSA para el problema de la generación de casos de prueba priorizados en líneas de productos softwareOrtega-Toro, José Antonio; Ferrer, Javier; Chicano, Francisco. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.En las líneas de producto software puede ser difícil o incluso imposible probar todos los productos de la familia debido al gran número de combinaciones de características que pueden existir. Esto conlleva la necesidad de buscar un subconjunto de productos de la familia que nos permita probar todas las posibles combinaciones. Los algoritmos del estado del arte basados en heurísticos junto con programación lineal entera (ILP) son lo bastante rápidos para instancias de tamaño pequeño o mediano. Sin embargo, existen algunas instancias del mundo real que son demasiado grandes para obtener una respuesta en un tiempo razonable, debido al crecimiento exponencial del espacio de búsqueda. Por otro lado, estos heurísticos no siempre conducen a las mejores soluciones. En este trabajo proponemos un nuevo enfoque basado en un algoritmo metaheurístico híbrido llamado Construct, Merge, Solve & Adapt (CMSA). Comparamos este enfoque con un algoritmo del estado del arte basado en ILP y en algoritmos híbridos. El análisis muestra que el algoritmo propuesto conduce a soluciones de mayor calidad.Artículo Evaluación y mejora de pruebas de rendimiento utilizando mutación del software: Un enfoque evolutivoSánchez Jerez, Ana Belén; Delgado-Pérez, Pedro; Medina-Bulo, Inmaculada; Segura, Sergio. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.Los errores de rendimiento del software pueden causar una importante degradación en la experiencia de usuario y dar lugar a problemas muy costosos de detectar y resolver. Las pruebas de rendimiento persiguen detectar y reducir el impacto de estos errores. Sin embargo, no existen mecanismos para evaluar la calidad de las pruebas de rendimiento, causando en muchos casos, que estos errores pasen desapercibidos. La prueba de mutación es una técnica para evaluar y mejorar las pruebas funcionales a través de la introducción de errores artificiales en el programa bajo prueba. En este artículo, exploramos la aplicabilidad de la prueba de mutación junto con el empleo de un algoritmo evolutivo para buscar mutantes que simulen errores de rendimiento. Esta propuesta noPrueba de mutación, errores de rendimiento, pruebas de rendimiento, algoritmos evolutivos.vedosa contribuye a mejorar la confianza en las pruebas de rendimiento al mismo tiempo que reduce el coste de la prueba de mutación.Resumen Evolutionary composition of QoS-aware web services: A many-objective perspectiveRamírez, Aurora; Parejo, José Antonio; Romero, José Raúl; Segura, Sergio; Ruiz-Cortés, Antonio. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.Web service based applications often invoke services provided by third-parties in their workflow. The Quality of Service (QoS) provided by the invoked supplier can be expressed in terms of the Service Level Agreement specifying the values contracted for particular aspects like cost or throughput, among others. In this scenario, intelligent systems can support the engineer to scrutinise the service market in order to select those candidates that best fit with the expected composition focusing on different QoS aspects. This search problem, also known as QoS-aware web service composition, is characterised by the presence of many diverse QoS properties to be simultaneously optimised from a multi-objective perspective. Nevertheless, as the number of QoS properties considered during the design phase increases and a larger number of decision factors come into play, it becomes more difficult to find the most suitable candidate solutions, so more sophisticated techniques are required to explore and return diverse, competitive alternatives. With this aim, this paper explores the suitability of many objective evolutionary algorithms for addressing the binding problem of web services on the basis of a real-world benchmark with 9 QoS properties. A complete comparative study demonstrates that these techniques, never before applied to this problem, can achieve a better trade-off between all the QoS properties, or even promote specific QoS properties while keeping high values for the rest. In addition, this search process can be performed within a reasonable computational cost, enabling its adoption by intelligent and decision-support systems in the field of service oriented computation. Publicado en: Expert Systems with Applications, vol. 72, pp.357-370. 2017. DOI: http://dx.doi.org/10.1016/j.eswa.2016.10.047. IF(2016): 3,928 [18/133 Artificial Intelligence] (Q1).Artículo Expansión cuantitativa del método MoSCoW para la priorización de requisitosdel Sagrado, José; del Aguila, Isabel María. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.La priorización de los requisitos a ser incluidos en el producto ?nal es un complejo proceso de decisión multicriterio que suele implicar llegar al equilibrio entre el bene?cio para el negocio de cada requisito y el consumo de recursos. Existen distintos factores y dimensiones a considerar en la priorización de requisitos, muchos de ellos de carácter cualitativo. Sin embargo, algunos métodos también han utilizado las propiedades cuantitativas estimadas, siendo muchas de estas soluciones del ámbito de las técnicas de optimización. En este trabajo se propone y estudia la validez de un algoritmo de agrupamiento muy conocido, k-medias, junto con el método subjetivo más ampliamente utilizado, el método MoSCoW, para la priorización de requisitos. Los resultados experimentales, sobre dos casos de 20 y 100 requisitos respectivamente, muestran la validez de la propuesta en la identi?cación de los requisitos que dan mayor valor al sistema a construir y que aseguran el mayor bene?cio en el proyecto.Artículo Hacia la automatización de pruebas funcionales y de rendimiento en Android con algoritmos basados en búsquedaParejo, José Antonio; Ruiz-Cortés, Antonio. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.Actualmente existen millones de aplicaciones para smartphone que deben ejecutarse correctamente en entornos software, hardware y de conectividad muy variados y cambiantes. El testing de dichas aplicaciones es por tanto un reto importante, para el que ligeras mejoras de la productividad suponen grandes beneficios para usuarios y desarrolladores. Este artículo presenta una primera aproximación de trabajo en curso para la la automatización de pruebas funcionales y de rendimiento en aplicaciones android usando algoritmos basados en búsqueda. La viabilidad de la propuesta se ha validado aplicándola a dos aplicaciones simples. Generando casos de pruebas que detectan cierres abruptos en la aplicación y maximizan el tiempo de ejecución.Artículo API para el desarrollo de algoritmos interactivos en ingeniería del software basada en búsquedaRamírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.La experiencia y la intuición son factores clave a la hora de dar solución a los complejos problemas que plantea la ingeniería del software. Sin embargo, este tipo de criterios no suelen ser considerados cuando su resolución se aborda por medio de técnicas de búsqueda automática. La ingeniería del software basada en búsqueda (SBSE) no puede ni debe obviar la opinión del ingeniero, razón por la que cada vez es más frecuente encontrar propuestas que le invitan a participar en el proceso. Diseñar e implementar un mecanismo de interacción efectivo, a la par que atractivo para el ingeniero, puede resultar complejo. Por ello, este trabajo presenta una API para dar soporte al desarrollo de algoritmos interactivos en SBSE. En base a los enfoques interactivos actuales en SBSE, esta API expone cuáles son los requisitos propios de la interactividad que deben programarse como, por ejemplo, la forma de evaluar las soluciones y las acciones que el ingeniero puede realizar sobre ellas.