METAHEURISTIC MODELS TO THE DEVELOPMENT OF DECISION SUPPORT SYSTEMS IN SOFTWARE CONSTRUCTION
BASIC INFORMATION
Ph.D. Student: Aurora Ramírez
Advisors: José Raúl Romero, Sebastián Ventura
Defended on: September 2018
Keywords: search-based software engineering (SBSE), metaheuristics, software architecture optimization
Digital version: PDF
DESCRIPTION
During early software analysis, engineers have to make decisions about the most suitable architecture according to the system requirements, either functional and non-functional. In this process, the engineer rigorously analyses existing alternatives, their implications on the imposed quality criteria and the need of establishing trade-offs among them. As engineers are mostly guided by their own capabilities and experience, providing them with semi-automatic support by means of artificial intelligence (AI) techniques would be highly beneficial. However, it represents a challenging task due to the high level of abstraction and partial knowledge of the system being developed.
The application of AI techniques to address software engineering (SE) problems has experienced an important growth in the last years. Particularly, the so-called search-based software engineering (SBSE) field proposes reformulating SE activities as optimisation problems, which are then solved by means of efficient search algorithms like metaheuristics. SBSE has been applied to almost all phases of the software development lifecycle, though the optimisation of software architectures represents a domain in which further research is needed.
Therefore, the aim of this Ph.D. Thesis is to propose novel software architecture optimisation methods to support engineers during architectural modelling. A first contribution refers to the formulation of the discovery of component-based software architectures as an optimisation problem. For its resolution, several search models based on evolutionary algorithms have been designed. Advanced techniques like many-objective optimisation and interactive optimisation have been explored too. Both approaches have demonstrated to be especially suitable in the context of architecture optimisation, since many decisions factors need to be considered, and the architect’s know-how is essential to satisfactory find representative architectural designs.
The main contributions of this Ph.D. Thesis can be summarized as follows:
- Analysis of the state-of-the-art regarding search-based software design and software architecture optimization methods
- Definition of software architecture discovery as an optimisation problem
- Design of a comprehensible evolutionary model to discover component-based software architectures
- Analysis of the influence of software metrics in a many-objective space
- Exploration of hybrid approaches to improve the performance of evolutionary algorithms
- Development of a general interactive model to integrate human expertise
FUNDS
The development of this thesis is being supported by:
- Spanish Ministry of Education, Culture and Sports under the FPU program (FPU13/01466).
- Spanish Ministry of Science and Competitiveness, project TIN-2014-55252-P.
PUBLICATIONS ASSOCIATED WITH THIS THESIS
INTERNATIONAL JOURNALS
- A. Ramírez, J.R. Romero, S. Ventura. “An approach for the evolutionary discovery of software architectures”. Information Sciences, vol. 305, pp. 234-255. 2015. Elsevier. ISSN: 0020-0255. DOI: 10.1016/j.ins.2015.01.017.
- A. Ramírez, J.R. Romero, S. Ventura. “A comparative study of many-objective evolutionary algorithms for the discovery of software architectures”. Empirical Software Engineering, vol. 21(6), pp. 2546-2600. 2016. Springer. ISSN: 1382-3256. DOI: 10.1007/s10664-015-9399-z.
- A. Ramírez, J.R. Romero, S. Ventura. “Interactive Multi-Objective Evolutionary Optimization of Software Architectures”. Information Sciences, vol. 463-464, pp. 92-109. 2018. Elsevier. ISSN: 0020-0255. DOI: 10.1016/j.ins.2018.06.034.
- A. Ramírez, J.A. Parejo, J.R. Romero, S. Segura, A. Ruiz-Cortés. “Evolutionary composition of QoS-aware web services: a many-objective perspective“. Expert Systems with Applications, vol. 72, pp. 357-370. 2017. Elsevier. ISSN: 0957-4174. DOI: 10.1016/j.eswa.2016.10.047.
- A. Ramírez, J.R. Romero, C.L. Simons. “A Systematic Review of Interaction in Search-Based Software Engineering“. IEEE Transactions on Software Engineering, vol. 81, pp. 14-28, 2019. IEEE. ISSN: 0098-5589. DOI: 10.1109/TSE.2018.2803055.
- A. Ramírez, J.R. Romero, S. Ventura. “A survey of many-objective optimization in search-based software engineering”. Journal of Systems and Sofware, vol. 149, pp. 382-395. 2019. Elsevier. ISSN: 0164-1212. DOI: 10.1016/j.jss.2018.12.015.
- A. Ramírez, J.R. Romero, C. García-Martínez, S. Ventura. “JCLEC-MO: a Java suite for solving many-objective optimisation engineering problems”. Engineering Applications of Artificial Intelligence, vol.81, pp. 14-28. 2019. Elsevier. ISSN: 0952-1976. DOI: 10.1016/j.engappai.2019.02.003.
INTERNATIONAL CONFERENCES
- 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). 06-10/07/2013. ACM. DOI: 10.1145/2464576.2464679.
- 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 (Canada). 12-14/07/2014. ACM. DOI: 10.1145/2576768.2598310.
- A. Ramírez, J.R. Romero, S. Ventura. “An Extensible JCLEC-based Solution for the Implementation of Multi-Objective Evolutionary Algorithms”. Evolutionary Computation Software Systems (EvoSoft) Workshop. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO’15 Companion), pp. 1085-1092. Madrid (Spain). 11-15/07/2015. ACM. DOI: 10.1145/2739482.2768461.
- 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). 14-16/12/2016. Springer. DOI: 10.1007/978-3-319-53480-0_43.
- 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). 05-08/06/2017. IEEE. DOI: 10.1109/CEC.2017.7969551.
NATIONAL CONFERENCES
- A. Ramírez, J.R. Romero, S. Ventura. “Identificación de Componentes en Arquitecturas Software Mediante Programación Evolutiva”. Actas de las XVIII Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2013), pp. 413-426. Madrid (España). 17-20/09/2013. SISTEDES. Handle: 11705/JISBD/2013/053.
- A. Ramírez, J.R. Romero, S. Ventura. “Algoritmo de programación evolutiva para identificación de arquitecturas software”. Actas del IX Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2013), pp. 892-901. Madrid (España). 17-20/09/2013. Universidad Complutense.
- 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”. Actas de las XIX Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2014), pp. 307-320. Cádiz (España). 16-19/09/2014. SISTEDES. Handle: 11705/JISBD/2014/050.
- A. Ramírez, J.R. Romero, S. Ventura. “Estudio preliminar del rendimiento de familias de algoritmos multiobjetivo en diseño arquitectónico”. Actas del X Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB 2015), pp. 173-180. Mérida (España). 04-06/02/2015. Universidad de Extremadura.
- A. Ramírez, J.R. Romero, S. Ventura. “Interactividad en el descubrimiento evolutivo de arquitecturas”. Actas de las XX Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2015). Santander (España). 15-17/09/2015. SISTEDES. Handle: 11705/JISBD/2015/029.
- A. Ramírez, J.A. Molina, J.R. Romero, S. Ventura. “Estudio de mecanismos de hibridación para el descubrimiento evolutivo de arquitecturas”. Actas de las XXI Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2016), pp. 481-494. Salamanca (España). 13-16/09/2016. SISTEDES – Ediciones Universidad de Salamanca. Handle: 11705/JISBD/2016/043.
- A. Ramírez, R. Barbudo, J.R. Romero, S. Ventura. “Herramienta basada en computación evolutiva interactiva para arquitectos software”. Actas de la XVII Conferencia de la Asociación Española para la Inteligencia Artificial – XI Congreso Español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (CAEPIA – MAEB 2016), pp. 387-396. Salamanca (España). 13-16/09/2016. AEPIA – Ediciones Universidad de Salamanca.
- A. Ramírez, J.R. Romero, S. Ventura. “Búsqueda coevolutiva interactiva aplicada al diseño de software”. Actas de las XXII Jornadas en Ingeniería del Software y Bases de Datos (JISBD 2017). La Laguna, Tenerife (España). 19-21/07/2017. SISTEDES – Universidad de La Laguna. Handle: 11705/JISBD/2017/034.
- 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 2018). Sevilla (España). 17-19/09/2018. SISTEDES – Universidad de Sevilla. Handle: 11705/JISBD/2018/073.