Search-based Software Engineering

Introduction

Search Based Software Engineering (SBSE) is a research field that concerns the application of search based approaches like metaheuristics to the resolution of Software Engineering (SE) tasks. The term SBSE was coined by Harman and Jones in 2001 and from its beginning, many activities related to different phases of the software conception and its development have been properly formulated as optimization problems, and diverse techniques like evolutionary algorithms, simulated annealing or ant colony optimization have been applied to solve them.

Contributions within SBSE can be organized regarding the stage of the software life cycle where the specific SE activity is addressed:

  • Requirements. Selecting the subset of requirements to be included in each update of a software is known as the Next Release Problem (NRP). Here, a trade-off between the interests of the different stakeholders is expected, and dependencies between requirements are usually considered. Other related problems are the assessment and prioritization of the set of requirements.
  • Software design. This area encompasses all the activities devoted to conceive and improve the structure of a software system, from architectural modeling to software refactoring. As a result, software engineers deal with many software artefacts, like components, classes, services and design patterns, to specify a system which not only implements the functional requirements, but also satisfies non-functional requirements like reliability, maintainability and cost. Some optimization problems within this area are: class modeling, architectural design, selection and composition of web services, refactoring and modularization.
  • Program optimization. Focusing on already implemented systems, techniques for program optimization can be applied to enhance the quality of the code.
  • Software testing and verification. The automatic generation of a suite of test cases is one of the first and most studied problems in SBSE. The aim here is to select the set of test cases that best covers all the branches of a program considering the minimal testing efforts. Finding faults or prioritizing test cases are other examples of testing problems than can be addressed from a search perspective.
  • Project management. Human and material resources need to be properly organized into a project planning to be adopted along the software life cycle. From the SBSE perspective, tasks are automatically assigned to engineers, considering aspects like the dependencies among them and the total time to execute the resulting plan. Cost-effort estimation problems can be also considered under this category.

Search-based software design

During the analysis and design of software, software engineers have already identified the functionalities of the system. However, many design alternatives should be evaluated in order to decide how to create high-quality solutions that implement these functionalities satisfying the required non-functional requirements. At this stage of the project execution, search-based approaches emerge as an interesting mechanism to provide support during their decision making process.

A great variety of Software Engineering activities can be considered here. Firstly, architectural optimization encompasses those tasks devoted to identify the structure of the system, where highly abstract software artefacts like components and interfaces should be considered. Some approaches start from the requirements specification to derive a proper design, whereas others try to recover the software architecture from source code. In many situations, the software artefacts already exist, and the optimization problems are focused on obtaining the best integration of components or seeking the optimal allocation of these elements into a distributed platform.

Next, both object-oriented and service-oriented design can be tackled from a search perspective. In the former case, some proposals extract analysis information from use cases and generate a possible class diagram. In the latter case, the best orchestration of candidate services, each one providing a specific level of quality (e.g. reliability, response time, cost, etc.), need to be selected to conform to the workflow of a composite service.

Finally, software refactoring and software modularization manage more concrete software artefacts, like source code. Software refactoring deals with the improvement of software structures, so it is closely related to maintenance. Software module clustering looks for the best organization of packages and modules in the code, ensuring high cohesion and low coupling.

Our research

Nowadays, we are experienced in several search approaches to solve the semi-automatic discovery of software architectures, which involves the identification the most fitting architecture of a software system, in terms of components and its interactions, from a prior analysis model, i.e. a class diagram. However, other software engineering activities are also of interest like service-oriented computing, testing, refactoring or requirements.

We have applied multiple techniques and approaches, like metaheuristics, multi-/many-objective optimisation, interactive approaches (human-in-the-loop), novelty search, etc.

We are also interested in the sinergies between SBSE and other fields like mining software repositories (MSR).

Members

  • Dr. José Raúl Romero (email: jrromero@uco.es)
  • Dr. Aurora Ramírez
  • Mr. Rafael Barbudo
  • Dr. Sebastián Ventura

Contributions to the area

Journal papers

International conferences

  • A. Ramírez, P. Delgado-Pérez, K. Valle-Gómez, I. Medina-Bulo, J.R. Romero. “Interactivity in the Generation of Test Cases with Evolutionary Computation”. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC’21), pp. 2395-2402. Virtual event (Krakow, Poland). June 2021. IEEE. DOI: 10.1109/CEC45853.2021.9504786. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “On the Effect of Local Search in the Multi-objective Evolutionary Discovery of Software Architectures”. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC’17), pp. 2038-2045. San Sebastián (Spain). June 2017. IEEE. DOI: 10.1109/CEC.2017.7969551. [Slides].
  • A. Ramírez, R. Barbudo, J.R. Romero, S. Ventura. “Memetic algorithms for the automatic discovery of software architectures”. In Proceedings of the 16th International Conference on Intelligent Systems Design and Applications (ISDA’16), vol. 557 AISC, pp. 437-447. Porto (Portugal). December 2016. Springer. ISBN: 978-3-319-53479-4 DOI: 10.1007/978-3-319-53480-0_43. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “On the Performance of Multiple Objective Evolutionary Algorithms for Software Architecture Discovery”. In Proceedings of the 16th Annual Conference on Genetic and Evolutionary Computation (GECCO’14), pp. 1287-1294. Vancouver (BC, Canada). July 2014. ACM. ISBN: 978-1-4503-2662-9. DOI: 10.1145/2576768.2598310Best SBSE paper. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “A Novel Component Identification Approach Using Evolutionary Programming”. In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO’13 Companion), pp. 209-210. Amsterdam (The Netherlands). July 2013. ACM. ISBN: 978-1-4503-1964-5. DOI: 10.1145/2464576.2464679.

Books and chapters

Spanish conferences

  • J.R. Romero, R. Barbudo, A. Ramírez, F. Servant. “Detección de patrones de diseño con GEML: discusión y enfoque práctico”. Actas de las XXV Jornadas en Ingeniería del Software y Bases de Datos (JISBD’21). Málaga (Spain). September 2021. SISTEDES – Universidad de Málaga. Handle: 11705/JISBD/2021/058.
  • P. Delgado-Pérez, A. Ramírez, K. Valle-Gómez, I. Medina-Bulo, J.R. Romero. “Mejora de la legibilidad en la generación de casos de prueba mediante búsqueda interactiva”. Actas de las XXV Jornadas en Ingeniería del Software y Bases de Datos (JISBD’21). Málaga (Spain). September 2021. SISTEDES – Universidad de Málaga. Handle: 11705/JISBD/2021/022.
  • J.R. Romero, A. Ramírez, C. Simons. “Looking for novelty in SBSE problems”. Actas de las XXIV Jornadas en Ingeniería del Software y Bases de Datos (JISBD’19).  Cáceres (Spain). September 2019. SISTEDES – Universidad de Extremadura. Handle: 11705/JISBD/2019/028.
  • A. Ramírez, P. Delgado-Pérez, J. Ferrer, J.R. Romero, I. Medina-Bulo, F. Chicano.”Estado y evolución de la comunidad SBSE en España: un análisis bibliométrico”. Actas de las XXIV Jornadas en Ingeniería del Software y Bases de Datos (JISBD’19).  Cáceres (Spain). September 2019. SISTEDES – Universidad de Extremadura. Handle: 11705/JISBD/2019/046. [Slides]
  • R. Barbudo, J.R. Romero, S. Ventura. “Aprendizaje automático con programación genética gramatical para la detección de patrones de diseño”. Actas de XVIII Conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA’18). Granada (Spain). October 2018. AEPIA – University of Granada. Best student paper. Proceedings.
  • A. Ramírez, J.R. Romero, S. Ventura. “API para el desarrollo de algoritmos interactivos en ingeniería del software basada en búsqueda”. Actas de las XXIII Jornadas en Ingeniería del Software y Bases de Datos (JISBD’18). Sevilla (Spain). September 2018. SISTEDES – Universidad de Sevilla. Handle: 11705/JISBD/2018/073. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “Búsqueda coevolutiva interactiva aplicada al diseño de software”. XXII Jornadas en Ingeniería del Software y Bases de Datos (JISBD’17). La Laguna, Tenerife (Spain). July 2017. SISTEDES – Universidad de La Laguna. Handle: 11705/JISBD/2017/034. [Slides]
  • R. Barbudo, A. Ramírez, J.R. Romero, S. Ventura. “Descubrimiento de patrones de diseño basado en buenas prácticas: modelo y discusión”. XXII Jornadas en Ingeniería del Software y Bases de Datos (JISBD’17). La Laguna, Tenerife (Spain). July 2017. SISTEDES – Universidad de La Laguna. Handle: 11705/JISBD/2017/035.
  • A. Ramírez, R. Barbudo, J.R. Romero, S. Ventura. “Herramienta basada en computación evolutiva interactiva para arquitectos software”. XI Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’16). pp. 387-398. Salamanca (Spain). September 2016. University of Salamanca. ISBN: 978-84-9012-632-5. [Slides]
  • A. Ramírez, J.A. Molina, J.R. Romero, S. Ventura. “Estudio de mecanismos de hibridación para el descubrimiento evolutivo de arquitecturas”. XXI Jornadas en Ingeniería del Software y Bases de Datos (JISBD’16), pp. 481-494. Salamanca (Spain). September 2016. University of Salamanca. ISBN: 978-84-9012-627-1. Handle: 11705/JISBD/2016/043. [Slides]
  • J.A. Parejo, A. Ramírez, J.R. Romero, S. Segura, A. Ruiz-Cortés. “Configuración guiada por búsqueda de aplicaciones basadas en microservicios en la nube”. XXI Jornadas en Ingeniería del Software y Bases de Datos (JISBD’16), pp. 499-502. Salamanca (Spain). September 2016. SISTEDES – University of Salamanca. ISBN: 978-84-9012-627-1. Handle: 11705/JISBD/2016/045.
  • A. Ramírez, J.R. Romero, S. Ventura. “Interactividad en el descubrimiento evolutivo de arquitecturas”. XX Jornadas en Ingeniería del Software y Bases de Datos (JISBD’15). Santander (Spain). September 2015. SISTEDES. Handle: 11705/JISBD/2015/029. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “Estudio preliminar del rendimiento de familias de algoritmos multiobjetivo en diseño arquitectónico”. X Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’15). pp. 173-180. Mérida (Spain). February 2015. University of Extremadura. ISBN: 978-84-697-2150-6. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “Análisis de la aplicabilidad de medidas software para el diseño semi-automático de arquitecturas”. XIX Jornadas en Ingeniería del Software y Bases de Datos (JISBD’14). pp. 307-320. Cádiz (Spain). September 2014. SISTEDES. ISBN: 978-84-697-1152-1. Handle: 11705/JISBD/2014/050. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “Algoritmo de programación evolutiva para identificación de arquitecturas software”. IX Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’13). pp. 892-901. Madrid (Spain). September 2013. Complutense University. ISBN: 978-84-695-8348-7. Nominated to best paper. [Slides]
  • A. Ramírez, J.R. Romero, S. Ventura. “Identificación de Componentes en Arquitecturas Software Mediante Programación Evolutiva”. XVIII Jornadas en Ingeniería del Software y Bases de Datos (JISBD’13). pp. 413-426. Madrid (Spain). September 2013. SISTEDES. ISBN: 978-84-695-8310-4. Handle: 11705/JISBD/2013/053. [Slides]

References and links

Spanish Research Network on SBSE

SEBASENet: Excellence Network on Search-based Software Engineering (12/2015 – 11/2017, 01/2020 – 12/2022)

SBSE Repositories

Repository of publications on SBSE (UCL)

Other repositories on SBSE (UCL)

Events

SBSE and ML track in JISBD 2022

International Summer School on Search- and Machine Learning-based Software Engineering (SMILESENG 2022)

SBSE and ML track in JISBD 2021

Special Section in CEC 2021: Metaheuristics and Machine Learning in Software Engineering

SBSE track in JISBD 2019

SBSE track in JISBD 2018

Special Section in CEC 2018: Evolutionary Methods and Machine Learning in Software Engineering, Testing and SE Repositories

2nd International Summer School on SBSE (SS-SBSE 2017)

SBSE track in JISBD 2017

Special Section in CEC 2017: Evolutionary Methods and Machine Learning in Software Engineering, Testing and SE Repositories

SBSE track in JISBD 2016

1st International Summer School on SBSE (SS-SBSE 2016)

SBSE track in JISBD 2015

At the ages of fifty four fifty can advise you that I'onal ended up lucky not to have wanted the product sooner, nevertheless loosing your partner of 25yrs 2010 became a curve which modified me personally for a long time. Now there came out a place exactly where click to read fifty had visit to have my tastes fulfilled only to find out this plumbing related desired just a little poke. So I questioned my own Computer system doc intended for a little something with tiny facet is affecting. He or she provided the particular recommended you read Cialis regular 5mg. 1st working day fifty had 5mg without any help to discover more help in the event that t discovered virtually any difference considering the woman never was planning determine, which'azines our system and also l'meters being dedicated to the idea. Regardless, these materials Operates, along with is useful. And click here then up coming night time with your ex m took 10mg at 8pm, and the rest is heritage. Through 13:double zero fifty manufactured my own move, but it appeared to be the most element to live in place until finally the sunlight came up upward , 100%Pleased :)When i't thirty-two as well as gone pretty much 1,5 years without intercourse. I had created pop over to this website plenty of anxiousness related penile erection challenges. And hop over to here then We found this specific great which woman My spouse and i started courting, along with first 2 times us all sex didn'to determine which properly, and i also appeared to be worried about just what exactly your woman considered this matter. We obtained braveness to visit and request cialis approved from the health practitioner. When i had taken 10mg product and it labored perfectly. I could truthfully continue on having sex many times a day without the problems. Merely bad thing is a smallish frustration. For me this can be truly a wonder drug.