Effectively Identifying Dependencies between RESTful APIs via Dynamic Analysis

MPhil Thesis Defence


Title: "Effectively Identifying Dependencies between RESTful APIs via 
Dynamic Analysis"

By

Miss Yuqing QUAN


Abstract

An increasing number of Web services are now opening third-party 
interfaces to be integrated. APIs are pre-defined interface functions 
designed to provide applications or developers with the ability to access 
programs through fixed protocols without having to access the source code 
or understand the details of the internal working mechanism. RESTful style 
has become the mainstream format for API interfaces.

In this thesis, I propose a tool to automate the process of finding 
dependencies between APIs. Unlike the current static parsing API 
specification tools, our tool includes both static and dynamic ways. 
Through static parsing, I can get some simple dependencies based on the 
relationships between HTTP verbs. More complex dependencies exist in 
complicated web services, but it is difficult for us to get the 
dependencies between APIs by static parsing only, so I add dynamic 
methods. When an API is run dynamically, I can use the response 
information to confirm that the API is running successfully and extract 
useful knowledge to help run other APIs. A newdependency is createdwhen 
the required parameters of an API depend on information obtained after 
another API runs successfully. Since the obtained dependencies are 
dynamically implemented, it is possible to be sure that they are correct 
as well. To ensure the uniqueness of the information generated by each 
API, this thesis determines the identifier of the response body and 
guarantees the uniqueness of this information.

The experimental results show that my technique is advantageous in finding 
dependencies in a redundant specification. I tested the open source Git 
service GitLab, as well as bitbucket and spree commerce. For dependencies, 
my tool can find more and with higher accuracy than the static RESTler 
parsing system. In terms of code coverage, it outperformed both the native 
RESTler and the technologically up-to-date MOREST tool.


Date:  			Monday, 9 January 2023

Time:			10:00am - 12:00noon

Venue:			Room 3494
 			lifts 25/26

Committee Members:	Prof. Shing-Chi Cheung (Supervisor)
 			Prof. Raymond Wong (Chairperson)
 			Prof. Huamin Qu


**** ALL are Welcome ****