• Evolutionary-based automated testing for GraphQL APIs 

      Belhadi, Asma; Zhang, Man; Arcuri, Andrea (GECCO: Genetic and Evolutionary Computation Conference;GECCO '22: Proceedings of the Genetic and Evolutionary Computation Conference Companion, Conference object, 2022)
      The 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 ...
    • JavaScript SBST Heuristics to Enable Effective Fuzzing of NodeJS Web APIs 

      Zhang, Man; Belhadi, Asma; Arcuri, Andrea (Peer reviewed; Journal article, 2023)
      JavaScript is one of the most popular programming languages. However, its dynamic nature poses several challenges to automated testing techniques. In this paper, we propose an approach and open-source tool support to enable ...
    • .NET/C# instrumentation for search-based software testing 

      Golmohammadi, Amid; Zhang, Man; Arcuri, Andrea (Peer reviewed; Journal article, 2023)
      C# is one of the most widely used programming languages. However, to the best of our knowledge, there has been no work in the literature aimed at enabling search-based software testing techniques for applications running ...
    • Open Problems in Fuzzing RESTful APIs: A Comparison of Tools 

      Zhang, Man; Arcuri, Andrea (Peer reviewed; Journal article, 2023)
      RESTful APIs are a type of web service that are widely used in industry. In the past few years, a lot of effort in the research community has been spent in designing novel techniques to automatically fuzz those APIs to ...
    • Random Testing and Evolutionary Testing for Fuzzing GraphQL APIs 

      Belhadi, Asma; Zhang, Man; Arcuri, Andrea (Peer reviewed; Journal article, 2023)
      The 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 ...
    • Resource and dependency based test case generation for RESTful Web services 

      Zhang, Man; Marculescu, Bogdan; Arcuri, Andrea (Empirical Software Engineering;26, Article number: 76 (2021), Peer reviewed; Journal article, 2021)
      Nowadays, RESTful web services are widely used for building enterprise applications. REST is not a protocol, but rather it defines a set of guidelines on how to design APIs to access and manipulate resources using HTTP ...
    • Testing RESTful APIs: A Survey 

      Golmohammadi, Amid; Zhang, Man; Arcuri, Andrea (Peer reviewed; Journal article, 2023)
      In industry, RESTful APIs are widely used to build modern Cloud Applications. Testing them is challenging,because not only do they rely on network communications, but also they deal with external services likedatabases. ...
    • White-box Fuzzing RPC-based APIs with EvoMaster: An Industrial Case Study 

      Zhang, Man; Arcuri, Andrea; Li, Yonggang; liu, yang; Xue, Kaiming (Peer reviewed; Journal article, 2023)
      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. ...