Matches in SemOpenAlex for { <https://semopenalex.org/work/W4321482783> ?p ?o ?g. }
- W4321482783 endingPage "38" @default.
- W4321482783 startingPage "1" @default.
- W4321482783 abstract "Remote Procedure Call (RPC) is a communication protocol to support client-server interactions among services over a network. RPC is widely applied in industry for building large-scale distributed systems, such as Microservices. Modern RPC frameworks include, for example, Thrift, gRPC, SOFARPC, and Dubbo. Testing such systems using RPC communications is very challenging, due to the complexity of distributed systems and various RPC frameworks the system could employ. To the best of our knowledge, there does not exist any tool or solution that could enable automated testing of modern RPC-based services. To fill this gap, in this article we propose the first approach in the literature, together with an open source tool, for fuzzing modern RPC-based APIs. The approach is in the context of white-box testing with search-based techniques. To tackle schema extraction of various RPC frameworks, we formulate a RPC schema specification along with a parser that allows the extraction from source code of any JVM RPC-based APIs. Then, with the extracted schema we employ a search to produce tests by maximizing white-box heuristics and newly defined heuristics specific to the RPC domain. We built our approach as an extension to an open source fuzzer (i.e., EvoMaster ), and the approach has been integrated into a real industrial pipeline that could be applied to a real industrial development process for fuzzing RPC-based APIs. To assess our novel approach, we conducted an empirical study with two artificial and four industrial web services selected by our industrial partner. In addition, to further demonstrate its effectiveness and application in industrial settings, we report results of employing our tool for fuzzing another 50 industrial APIs autonomously conducted by our industrial partner in their testing processes. Results show that our novel approach is capable of enabling automated test case generation for industrial RPC-based APIs (i.e., 2 artificial and 54 industrial). We also compared with a simple gray-box technique and existing manually written tests. Our white-box solution achieves significant improvements on code coverage. Regarding fault detection, by conducting a careful review with our industrial partner of the tests generated by our novel approach in the selected four industrial APIs, a total of 41 real faults were identified, which have now been fixed. Another 8,377 detected faults are currently under investigation." @default.
- W4321482783 created "2023-02-23" @default.
- W4321482783 creator A5022248804 @default.
- W4321482783 creator A5023363049 @default.
- W4321482783 creator A5029587382 @default.
- W4321482783 creator A5052735480 @default.
- W4321482783 creator A5089598972 @default.
- W4321482783 date "2023-07-21" @default.
- W4321482783 modified "2023-10-04" @default.
- W4321482783 title "White-Box Fuzzing RPC-Based APIs with EvoMaster: An Industrial Case Study" @default.
- W4321482783 cites W1526710119 @default.
- W4321482783 cites W1971650562 @default.
- W4321482783 cites W1993760289 @default.
- W4321482783 cites W2061234822 @default.
- W4321482783 cites W2079189937 @default.
- W4321482783 cites W2110337982 @default.
- W4321482783 cites W2117438772 @default.
- W4321482783 cites W2120995930 @default.
- W4321482783 cites W2134464309 @default.
- W4321482783 cites W2140983446 @default.
- W4321482783 cites W2143271276 @default.
- W4321482783 cites W2143712427 @default.
- W4321482783 cites W2149575364 @default.
- W4321482783 cites W2306992465 @default.
- W4321482783 cites W2463553622 @default.
- W4321482783 cites W2550065667 @default.
- W4321482783 cites W2586946380 @default.
- W4321482783 cites W2622213173 @default.
- W4321482783 cites W2760376440 @default.
- W4321482783 cites W2768363122 @default.
- W4321482783 cites W2804003629 @default.
- W4321482783 cites W2903799441 @default.
- W4321482783 cites W2941522337 @default.
- W4321482783 cites W2954473750 @default.
- W4321482783 cites W2955498974 @default.
- W4321482783 cites W2955835447 @default.
- W4321482783 cites W2963723316 @default.
- W4321482783 cites W2997401484 @default.
- W4321482783 cites W3001307185 @default.
- W4321482783 cites W3038801694 @default.
- W4321482783 cites W3047047526 @default.
- W4321482783 cites W3047848029 @default.
- W4321482783 cites W3047947484 @default.
- W4321482783 cites W3048299836 @default.
- W4321482783 cites W3098913714 @default.
- W4321482783 cites W3101861373 @default.
- W4321482783 cites W3106293840 @default.
- W4321482783 cites W3111226293 @default.
- W4321482783 cites W3119672550 @default.
- W4321482783 cites W3126551690 @default.
- W4321482783 cites W3170391117 @default.
- W4321482783 cites W3177546869 @default.
- W4321482783 cites W3191614725 @default.
- W4321482783 cites W3202888839 @default.
- W4321482783 cites W3203878282 @default.
- W4321482783 cites W3204593724 @default.
- W4321482783 cites W4220791610 @default.
- W4321482783 cites W4224306538 @default.
- W4321482783 cites W4282585420 @default.
- W4321482783 cites W4282829523 @default.
- W4321482783 cites W4284706564 @default.
- W4321482783 cites W4285805549 @default.
- W4321482783 cites W4287552959 @default.
- W4321482783 cites W4295996243 @default.
- W4321482783 cites W4300811928 @default.
- W4321482783 cites W4307739759 @default.
- W4321482783 cites W4313447353 @default.
- W4321482783 doi "https://doi.org/10.1145/3585009" @default.
- W4321482783 hasPublicationYear "2023" @default.
- W4321482783 type Work @default.
- W4321482783 citedByCount "3" @default.
- W4321482783 countsByYear W43214827832023 @default.
- W4321482783 crossrefType "journal-article" @default.
- W4321482783 hasAuthorship W4321482783A5022248804 @default.
- W4321482783 hasAuthorship W4321482783A5023363049 @default.
- W4321482783 hasAuthorship W4321482783A5029587382 @default.
- W4321482783 hasAuthorship W4321482783A5052735480 @default.
- W4321482783 hasAuthorship W4321482783A5089598972 @default.
- W4321482783 hasBestOaLocation W43214827831 @default.
- W4321482783 hasConcept C105446022 @default.
- W4321482783 hasConcept C111065885 @default.
- W4321482783 hasConcept C111919701 @default.
- W4321482783 hasConcept C115903868 @default.
- W4321482783 hasConcept C172086080 @default.
- W4321482783 hasConcept C2777904410 @default.
- W4321482783 hasConcept C2778505942 @default.
- W4321482783 hasConcept C41008148 @default.
- W4321482783 hasConcept C77088390 @default.
- W4321482783 hasConcept C79974875 @default.
- W4321482783 hasConceptScore W4321482783C105446022 @default.
- W4321482783 hasConceptScore W4321482783C111065885 @default.
- W4321482783 hasConceptScore W4321482783C111919701 @default.
- W4321482783 hasConceptScore W4321482783C115903868 @default.
- W4321482783 hasConceptScore W4321482783C172086080 @default.
- W4321482783 hasConceptScore W4321482783C2777904410 @default.
- W4321482783 hasConceptScore W4321482783C2778505942 @default.
- W4321482783 hasConceptScore W4321482783C41008148 @default.
- W4321482783 hasConceptScore W4321482783C77088390 @default.