Conference paper Open Access

From OpenAPI Fragments to API Pattern Primitives and Design Smells

Serbout, Souhaila; Pautasso, Cesare; Zdun, Uwe; Zimmermann, Olaf

Citation Style Language JSON Export

  "DOI": "10.1145/3489449.3489998", 
  "language": "eng", 
  "author": [
      "family": "Serbout, Souhaila"
      "family": "Pautasso, Cesare"
      "family": "Zdun, Uwe"
      "family": "Zimmermann, Olaf"
  "issued": {
    "date-parts": [
  "abstract": "<p>In the past few years, the OpenAPI Specification (OAS) has emerged<br>\nas a standard description language for accurately modeling Web<br>\nAPIs. Today, thousands of OpenAPI descriptions can be found by<br>\nmining open source repositories. In this paper, we attempt to exploit<br>\nthese artifacts to extract commonly occurring building blocks used<br>\ninWeb API structures, in order to assistWeb API designers in their<br>\nmodelling task. Our work is based on a fragmentation mechanism,<br>\nthat starts from OpenAPI descriptions ofWeb APIs to extract their<br>\nstructures, then fragment these structures into smaller blocks. This<br>\napproach enabled us to extract a large dataset of reoccurring fragments<br>\nfrom a collection of 6619 API specifications. Such fragments<br>\nhave been found multiple times in the same or across different APIs.<br>\nWe have classified the most reoccurring fragments into four pattern<br>\nprimitives used to expose in the API access to collections of items.<br>\nWe distinguish for each primitive variants from design smells. This<br>\nclassification is based on the specific combinations of operations<br>\nassociated with the collection items and on an in-depth analysis of<br>\ntheir natural language labels and descriptions. The resulting pattern<br>\nprimitives are intended to support designers who would like to introduce<br>\none or more collections for a specific class of items in their<br>\nHTTP-based API.</p>", 
  "title": "From OpenAPI Fragments to API Pattern Primitives and Design Smells", 
  "type": "paper-conference", 
  "id": "5727094"
Views 69
Downloads 92
Data volume 316.0 MB
Unique views 64
Unique downloads 87


Cite as