REST API Fuzzing by Coverage Level Guided Blackbox Testing

Chung-Hsuan Tsai,Shi-Chun Tsai,Shih-Kun Huang
DOI: https://doi.org/10.48550/arXiv.2112.15485
2021-12-31
Abstract:With the growth of web applications, REST APIs have become the primary communication method between services. In order to ensure system reliability and security, software quality can be assured by effective testing methods. Black box fuzz testing is one of the effective methods to perform tests on a large scale. However, conventional black box fuzz testing generates random data without judging the quality of the input. We implement a black box fuzz testing method for REST APIs. It resolves the issues of blind mutations without knowing the effectiveness by Test Coverage Level feedback. We also enhance the mutation strategies by reducing the testing complexity for REST APIs, generating more appropriate test cases to cover possible paths. We evaluate our method by testing two large open-source projects and 89 bugs are reported and confirmed. In addition, we find 351 bugs from 64 remote API services in <a class="link-external link-http" href="http://APIs.guru" rel="external noopener nofollow">this http URL</a>. The work is in <a class="link-external link-https" href="https://github.com/iasthc/hsuan-fuzz" rel="external noopener nofollow">this https URL</a>.
Software Engineering
What problem does this paper attempt to address?