Skip to main navigation Skip to search Skip to main content

Seeding and Mocking in White-Box Fuzzing Enterprise RPC APIs: An Industrial Case Study

  • Man Zhang*
  • , Andrea Arcuri
  • , Piyun Teng
  • , Kaiming Xue
  • , Wenhao Wang
  • *Corresponding author for this work
  • Kristiania University College
  • Meituan

Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › peer-review

Abstract

Microservices is now becoming a promising architecture to build large-scale web services in industry. Due to the high complexity of enterprise microservices, industry has an urgent need to have a solution to enable automated testing of such systems. EvoMaster is an open-source fuzzer, equipped with the state-of-the-art techniques for supporting automated system-level testing of Web APIs. It has been assessed as the most performant tool in two recent empirical studies in terms of line coverage and fault detection. In this paper, we carried out an empirical experiment to investigate how to better apply the state-of-the-art academic prototype (i.e., EvoMaster) in industrial context. We extended the tool to handle seeding of existing industrial tests, and mocking of external services with their data handled as part of the input fuzzing. We studied two configurations of EvoMaster, using two time budgets, on 40 enterprise RPC-based APIs (involving 5.6 million lines of code for their core business logic) at Meituan. Results show that, compared to existing practice of manual system-level testing and tests produced by record and replay of online traffic, EvoMaster demonstrates clear additional benefits. EvoMaster with the best configuration is capable of covering up to 32.4% line coverage, covering more than 10% line coverage on 36 out of 40 (90%) case studies, and identifying on average 3520 potential faults in these 40 APIs. In addition, we also identified and discussed important challenges in fuzzing enterprise microservices that must be addressed in the future.

Original languageEnglish
Title of host publicationProceedings - 2024 39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024
PublisherAssociation for Computing Machinery, Inc
Pages2024-2034
Number of pages11
ISBN (Electronic)9798400712487
DOIs
StatePublished - 27 Oct 2024
Event39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024 - Sacramento, United States
Duration: 28 Oct 2024 → 1 Nov 2024

Publication series

NameProceedings - 2024 39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024

Conference

Conference39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024
Country/TerritoryUnited States
CitySacramento
Period28/10/24 → 1/11/24

Keywords

  • SBST
  • automated test case generation
  • fuzzing
  • microservices

Fingerprint

Dive into the research topics of 'Seeding and Mocking in White-Box Fuzzing Enterprise RPC APIs: An Industrial Case Study'. Together they form a unique fingerprint.

Cite this