Specification and Automated Analysis of Inter-Parameter Dependencies in Web APIs

05/07/2020
by   Alberto Martin-Lopez, et al.
0

Web services often impose inter-parameter dependencies that restrict the way in which two or more input parameters can be combined to form valid calls to the service. Unfortunately, current specification languages for web services like the OpenAPI Specification (OAS) provide no support for the formal description of such dependencies, which makes it hardly possible to automatically discover and interact with services without human intervention. In this article, we present an approach for the specification and automated analysis of inter-parameter dependencies in web APIs. We first present a domain-specific language, called Inter-parameter Dependency Language (IDL), for the specification of dependencies among input parameters in web services. Then, we propose a mapping to translate an IDL document into a constraint satisfaction problem (CSP), enabling the automated analysis of IDL specifications using standard CSP-based reasoning operations. Specifically, we present a catalogue of nine analysis operations on IDL documents allowing to compute, for example, whether a given request satisfies all the dependencies of the service. Finally, we present a tool suite including an editor, a parser, an OAS extension, a constraint programming-aided library, and a test suite supporting IDL specifications and their analyses. Together, these contributions pave the way for a new range of specification-driven applications in areas such as code generation and testing.

READ FULL TEXT

page 3

page 5

page 14

research
01/08/2019

StaBL - State Based Language for Specification of Web Applications

Context and motivation: Usage of Formal Specification languages is scarc...
research
05/01/2019

E2E Web Test Dependency Detection using NLP

E2E web test suites are prone to test dependencies due to the heterogene...
research
11/12/2018

Modern RESTful API DLs and frameworks for RESTful web services API schema modeling, documenting, visualizing

The given paper presents an overview of modern RESTful API description l...
research
05/02/2022

PSI Draft Specification

This document presents the draft specification for delivering machine le...
research
03/19/2021

Building Specifications in the Event-B Institution

This paper describes a formal semantics for the Event-B specification la...
research
11/01/2021

Towards Reformulating Essence Specifications for Robustness

The Essence language allows a user to specify a constraint problem at a ...
research
03/06/2022

foREST: A Tree-based Approach for Fuzzing RESTful APIs

Representational state transfer (REST) is a widely employed architecture...

Please sign up or login with your details

Forgot password? Click here to reset