Cargando…

Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster

Research in software testing often involves the development of software prototypes. Like any piece of software, there are challenges in the development, use and verification of such tools. However, some challenges are rather specific to this problem domain. For example, often these tools are develop...

Descripción completa

Detalles Bibliográficos
Autores principales: Arcuri, Andrea, Zhang, Man, Belhadi, Asma, Marculescu, Bogdan, Golmohammadi, Amid, Galeotti, Juan Pablo, Seran, Susruthan
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer US 2023
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10483991/
https://www.ncbi.nlm.nih.gov/pubmed/37692292
http://dx.doi.org/10.1007/s11219-023-09620-w
_version_ 1785102505223389184
author Arcuri, Andrea
Zhang, Man
Belhadi, Asma
Marculescu, Bogdan
Golmohammadi, Amid
Galeotti, Juan Pablo
Seran, Susruthan
author_facet Arcuri, Andrea
Zhang, Man
Belhadi, Asma
Marculescu, Bogdan
Golmohammadi, Amid
Galeotti, Juan Pablo
Seran, Susruthan
author_sort Arcuri, Andrea
collection PubMed
description Research in software testing often involves the development of software prototypes. Like any piece of software, there are challenges in the development, use and verification of such tools. However, some challenges are rather specific to this problem domain. For example, often these tools are developed by PhD students straight out of bachelor/master degrees, possibly lacking any industrial experience in software development. Prototype tools are used to carry out empirical studies, possibly studying different parameters of novel designed algorithms. Software scaffolding is needed to run large sets of experiments efficiently. Furthermore, when using AI-based techniques like evolutionary algorithms, care needs to be taken to deal with their randomness, which further complicates their verification. The aforementioned represent some of the challenges we have identified for this domain. In this paper, we report on our experience in building the open-source EvoMaster tool, which aims at system-level test case generation for enterprise applications. Many of the challenges we faced would be common to any researcher needing to build software testing tool prototypes. Therefore, one goal is that our shared experience here will boost the research community, by providing concrete solutions to many development challenges in the building of such kind of research prototypes. Ultimately, this will lead to increase the impact of scientific research on industrial practice.
format Online
Article
Text
id pubmed-10483991
institution National Center for Biotechnology Information
language English
publishDate 2023
publisher Springer US
record_format MEDLINE/PubMed
spelling pubmed-104839912023-09-08 Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster Arcuri, Andrea Zhang, Man Belhadi, Asma Marculescu, Bogdan Golmohammadi, Amid Galeotti, Juan Pablo Seran, Susruthan Softw Qual J Article Research in software testing often involves the development of software prototypes. Like any piece of software, there are challenges in the development, use and verification of such tools. However, some challenges are rather specific to this problem domain. For example, often these tools are developed by PhD students straight out of bachelor/master degrees, possibly lacking any industrial experience in software development. Prototype tools are used to carry out empirical studies, possibly studying different parameters of novel designed algorithms. Software scaffolding is needed to run large sets of experiments efficiently. Furthermore, when using AI-based techniques like evolutionary algorithms, care needs to be taken to deal with their randomness, which further complicates their verification. The aforementioned represent some of the challenges we have identified for this domain. In this paper, we report on our experience in building the open-source EvoMaster tool, which aims at system-level test case generation for enterprise applications. Many of the challenges we faced would be common to any researcher needing to build software testing tool prototypes. Therefore, one goal is that our shared experience here will boost the research community, by providing concrete solutions to many development challenges in the building of such kind of research prototypes. Ultimately, this will lead to increase the impact of scientific research on industrial practice. Springer US 2023-03-06 2023 /pmc/articles/PMC10483991/ /pubmed/37692292 http://dx.doi.org/10.1007/s11219-023-09620-w Text en © The Author(s) 2023 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
Arcuri, Andrea
Zhang, Man
Belhadi, Asma
Marculescu, Bogdan
Golmohammadi, Amid
Galeotti, Juan Pablo
Seran, Susruthan
Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title_full Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title_fullStr Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title_full_unstemmed Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title_short Building an open-source system test generation tool: lessons learned and empirical analyses with EvoMaster
title_sort building an open-source system test generation tool: lessons learned and empirical analyses with evomaster
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10483991/
https://www.ncbi.nlm.nih.gov/pubmed/37692292
http://dx.doi.org/10.1007/s11219-023-09620-w
work_keys_str_mv AT arcuriandrea buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT zhangman buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT belhadiasma buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT marculescubogdan buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT golmohammadiamid buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT galeottijuanpablo buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster
AT seransusruthan buildinganopensourcesystemtestgenerationtoollessonslearnedandempiricalanalyseswithevomaster