Conference paper Open Access
Serbout, Souhaila;
Pautasso, Cesare;
Zdun, Uwe;
Zimmermann, Olaf
{ "files": [ { "links": { "self": "https://zenodo.org/api/files/10c4cd23-7d94-47e7-9730-340aa97f93bb/main.pdf" }, "checksum": "md5:15df08091f1decf9cb0a89cab434ca93", "bucket": "10c4cd23-7d94-47e7-9730-340aa97f93bb", "key": "main.pdf", "type": "pdf", "size": 3435165 } ], "owners": [ 38987 ], "doi": "10.1145/3489449.3489998", "stats": { "version_unique_downloads": 89.0, "unique_views": 65.0, "views": 70.0, "version_views": 70.0, "unique_downloads": 89.0, "version_unique_views": 65.0, "volume": 322905510.0, "version_downloads": 94.0, "downloads": 94.0, "version_volume": 322905510.0 }, "links": { "doi": "https://doi.org/10.1145/3489449.3489998", "latest_html": "https://zenodo.org/record/5727094", "bucket": "https://zenodo.org/api/files/10c4cd23-7d94-47e7-9730-340aa97f93bb", "badge": "https://zenodo.org/badge/doi/10.1145/3489449.3489998.svg", "html": "https://zenodo.org/record/5727094", "latest": "https://zenodo.org/api/records/5727094" }, "created": "2021-11-25T11:59:26.117251+00:00", "updated": "2021-11-26T01:48:46.794801+00:00", "conceptrecid": "5727093", "revision": 2, "id": 5727094, "metadata": { "access_right_category": "success", "doi": "10.1145/3489449.3489998", "description": "<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>", "language": "eng", "title": "From OpenAPI Fragments to API Pattern Primitives and Design Smells", "license": { "id": "CC-BY-4.0" }, "relations": { "version": [ { "count": 1, "index": 0, "parent": { "pid_type": "recid", "pid_value": "5727093" }, "is_last": true, "last_child": { "pid_type": "recid", "pid_value": "5727094" } } ] }, "grants": [ { "code": "200021L_184692", "links": { "self": "https://zenodo.org/api/grants/10.13039/501100001711::200021L_184692" }, "title": "API-ACE: Analytics-based Continuous Design and Evolution of Microservice APIs", "acronym": "", "program": "Project funding - Project funding (Div. I-III)", "funder": { "doi": "10.13039/501100001711", "acronyms": [], "name": "Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung", "links": { "self": "https://zenodo.org/api/funders/10.13039/501100001711" } } }, { "code": "I 4268", "links": { "self": "https://zenodo.org/api/grants/10.13039/501100002428::I 4268" }, "title": "Analytics-centric Continuous Design of Microservice APIs", "acronym": "", "program": "Internationale Projekte", "funder": { "doi": "10.13039/501100002428", "acronyms": [], "name": "Austrian Science Fund", "links": { "self": "https://zenodo.org/api/funders/10.13039/501100002428" } } } ], "keywords": [ "Application Programming Interfaces", "API Patterns", "API Design Smells", "API Structural Fragments", "Pattern Minning", "OpenAPI" ], "publication_date": "2021-11-25", "creators": [ { "affiliation": "Software Institute, USI", "name": "Serbout, Souhaila" }, { "affiliation": "Software Institute, USI", "name": "Pautasso, Cesare" }, { "orcid": "0000-0002-6233-2591", "affiliation": "University of Vienna", "name": "Zdun, Uwe" }, { "affiliation": "University of Applied Sciences of Eastern Switzerland", "name": "Zimmermann, Olaf" } ], "access_right": "open", "resource_type": { "subtype": "conferencepaper", "type": "publication", "title": "Conference paper" } } }
Views | 70 |
Downloads | 94 |
Data volume | 322.9 MB |
Unique views | 65 |
Unique downloads | 89 |