Vis enkel innførsel

dc.contributor.authorBelhadi, Asma
dc.contributor.authorZhang, Man
dc.contributor.authorArcuri, Andrea
dc.date.accessioned2024-01-19T07:49:38Z
dc.date.available2024-01-19T07:49:38Z
dc.date.created2023-08-18T09:39:37Z
dc.date.issued2023
dc.identifier.citationACM Transactions on the Web. 2023, 18(1), 1–41 .en_US
dc.identifier.issn1559-1131
dc.identifier.urihttps://hdl.handle.net/11250/3112634
dc.description.abstractThe Graph Query Language (GraphQL) is a powerful language for APIs manipulation in web services. It has been recently introduced as an alternative solution for addressing the limitations of RESTful APIs. This paper introduces an automated solution for GraphQL APIs testing. We present a full framework for automated APIs testing, from the schema extraction to test case generation. In addition, we consider two kinds of testing: white-box and black-box testing. The white-box testing is performed when the source code of the GraphQL API is available. Our approach is based on evolutionary search. Test cases are evolved to intelligently explore the solution space while maximizing code coverage and fault-finding criteria. The black-box testing does not require access to the source code of the GraphQL API. It is therefore of more general applicability, albeit it has worse performance. In this context, we use a random search to generate GraphQL data. The proposed framework is implemented and integrated into the open-source EvoMaster tool. With enabled white-box heuristics, i.e., white-box mode, experiments on 7 open-source GraphQL APIs and 3 search algorithms show statistically significant improvement of the evolutionary approach compared to the baseline random search. In addition, experiments on 31 online GraphQL APIs reveal the ability of the black-box mode to detect real faults.en_US
dc.description.abstractRandom Testing and Evolutionary Testing for Fuzzing GraphQL APIsen_US
dc.language.isoengen_US
dc.rightsNavngivelse 4.0 Internasjonal*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/deed.no*
dc.subjectGraphQLen_US
dc.subjectEvoMasteren_US
dc.subjectEvolutionary algorithmsen_US
dc.subjectAutomated testingen_US
dc.subjectSBSTen_US
dc.subjectSBSEen_US
dc.subjectFuzzingen_US
dc.titleRandom Testing and Evolutionary Testing for Fuzzing GraphQL APIsen_US
dc.title.alternativeRandom Testing and Evolutionary Testing for Fuzzing GraphQL APIsen_US
dc.typePeer revieweden_US
dc.typeJournal articleen_US
dc.description.versionpublishedVersionen_US
dc.source.pagenumber1-41en_US
dc.source.volume18en_US
dc.source.journalACM Transactions on the Weben_US
dc.source.issue1en_US
dc.identifier.doi10.1145/3609427
dc.identifier.cristin2167868
dc.source.articlenumber14en_US
cristin.ispublishedtrue
cristin.fulltextoriginal
cristin.qualitycode2


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel

Navngivelse 4.0 Internasjonal
Med mindre annet er angitt, så er denne innførselen lisensiert som Navngivelse 4.0 Internasjonal