OAS DB: a shared infrastructure to support OpenAPI research
| Main Author: | |
|---|---|
| Publication Date: | 2022 |
| Format: | Master thesis |
| Language: | eng |
| Source: | Biblioteca Digital de Teses e Dissertações da USP |
| Download full: | https://www.teses.usp.br/teses/disponiveis/100/100131/tde-25052022-214725/ |
Summary: | It is common knowledge the great success achieved by the Web in the last decades. Together with the rise of Web systems in general, it came the increase of the number of Web APIs. There are many specifications used to describe an Web API. One of the most popular ones is OpenAPI. This specification allows one to describe all the resources that can be accessed and manipulated through a REST Web API. An OpenAPI specification can be used to perform different kinds of analysis and verification of the service implementing the described API. A common challenge faced by researchers, however, is the lack of shared validation infrastructure or a standard benchmark. The main contribution of our research is a software artifact --- called OAS DB (OpenAPI Specifications Database) --- that aims to provide researchers and industry practitioners with a complete solution to streamline the validation of new OpenAPI related techniques and tools. OAS DB is able to generate complete OpenAPI specifications and their corresponding mock implementations. It is also both capable of injecting faults and anti-patterns in these generated specifications/mock implementations and of indicating --- through machine-readable files --- which issues and anti-patterns are present in the generated assets. We use OAS DB to assess tools relying on both static and dynamic techniques to detect faults and anti-patterns in OpenAPI specifications. Our results indicate that these tools fail to detect relevant faults and anti-patterns in the synthetic APIs generated by OAS DB, indicating that there is room to improve these tools and the ways in which they are applying static and dynamic analysis techniques. The present work also has as contributions: a) a proof of concept REST API anti-pattern detector (which we call Oasis) and b) the description of a novel REST anti-pattern not described in the literature so far |
| id |
USP_c899cfb19df75dde5200f9cf9dd4bece |
|---|---|
| oai_identifier_str |
oai:teses.usp.br:tde-25052022-214725 |
| network_acronym_str |
USP |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
| repository_id_str |
2721 |
| spelling |
OAS DB: a shared infrastructure to support OpenAPI researchOAS DB: uma infraestrutura compartilhada para apoiar a pesquisa envolvendo OpenAPIAnálise estáticaAnti-patternAnti-patternCode generationGeração de programasInjeção de defeitos em softwareOpenAPIOpenAPIRepositórioRepositoryREST APIREST APISoftware fault injectionStatic analysisIt is common knowledge the great success achieved by the Web in the last decades. Together with the rise of Web systems in general, it came the increase of the number of Web APIs. There are many specifications used to describe an Web API. One of the most popular ones is OpenAPI. This specification allows one to describe all the resources that can be accessed and manipulated through a REST Web API. An OpenAPI specification can be used to perform different kinds of analysis and verification of the service implementing the described API. A common challenge faced by researchers, however, is the lack of shared validation infrastructure or a standard benchmark. The main contribution of our research is a software artifact --- called OAS DB (OpenAPI Specifications Database) --- that aims to provide researchers and industry practitioners with a complete solution to streamline the validation of new OpenAPI related techniques and tools. OAS DB is able to generate complete OpenAPI specifications and their corresponding mock implementations. It is also both capable of injecting faults and anti-patterns in these generated specifications/mock implementations and of indicating --- through machine-readable files --- which issues and anti-patterns are present in the generated assets. We use OAS DB to assess tools relying on both static and dynamic techniques to detect faults and anti-patterns in OpenAPI specifications. Our results indicate that these tools fail to detect relevant faults and anti-patterns in the synthetic APIs generated by OAS DB, indicating that there is room to improve these tools and the ways in which they are applying static and dynamic analysis techniques. The present work also has as contributions: a) a proof of concept REST API anti-pattern detector (which we call Oasis) and b) the description of a novel REST anti-pattern not described in the literature so farJá é senso comum o grande sucesso alcançado pela Web nas últimas décadas. Junto à ascensão de sistemas Web em geral, veio também o aumento do número de APIs Web. Há muitas especificaçes usadas para descrever uma API Web. Uma das mais populares é a OpenAPI. Essa especificação permite descrever todos os recursos que podem ser acessados e manipulados por meio de uma API Web REST. Uma especificação OpenAPI pode ser usada para diferentes tipos de análises e verificaçes do serviço que implementa a API descrita. Um desafio comum enfrentado por pesquisadores, no entanto, é a inexistência de infra-estrutura compartilhada de validação ou de um benchmark padrão. A principal contribuição de nossa pesquisa é um artefato de software --- chamado OAS DB (OpenAPI Specifications Database) --- que tem por objetivo fornecer aos pesquisadores e profissionais da indústria uma solução completa para tornar mais eficiente a validação de novas técnicas e ferramentas relacionadas com OpenAPI. OAS DB consegue gerar especificaçes OpenAPI completas e as suas correspondentes implementaçes mock. É também capaz de injetar defeitos e anti-patterns nessas especificaçes/implementaçes mock geradas e também de indicar --- por meio de arquivos processáveis por software --- quais defeitos e anti-patterns estão presentes nesses arquivos gerados. Ferramentas que usam técnicas estáticas e dinâmicas para identificar defeitos e anti-patterns em especificações OpenAPI foram avaliadas usando o OAS DB. Os resultados indicam que essas ferramentas não detectam alguns defeitos e anti-patterns relevantes em APIs sintéticas geradas pela OAS DB. Esses resultados indicam que essas ferramentas e o modo como aplicam técnicas de análise dinâmica e estática podem ser melhorados. Este trabalho também tem como contribuiçes a) uma prova de conceito de dectector de anti-patterns REST (chamado Oasis) e b) a descrição de um novo anti-pattern REST ainda não documentado na literatura relevanteBiblioteca Digitais de Teses e Dissertações da USPChaim, Marcos LordelloStoll, Alex Braha2022-03-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/100/100131/tde-25052022-214725/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2024-10-09T13:16:04Zoai:teses.usp.br:tde-25052022-214725Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-10-09T13:16:04Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
| dc.title.none.fl_str_mv |
OAS DB: a shared infrastructure to support OpenAPI research OAS DB: uma infraestrutura compartilhada para apoiar a pesquisa envolvendo OpenAPI |
| title |
OAS DB: a shared infrastructure to support OpenAPI research |
| spellingShingle |
OAS DB: a shared infrastructure to support OpenAPI research Stoll, Alex Braha Análise estática Anti-pattern Anti-pattern Code generation Geração de programas Injeção de defeitos em software OpenAPI OpenAPI Repositório Repository REST API REST API Software fault injection Static analysis |
| title_short |
OAS DB: a shared infrastructure to support OpenAPI research |
| title_full |
OAS DB: a shared infrastructure to support OpenAPI research |
| title_fullStr |
OAS DB: a shared infrastructure to support OpenAPI research |
| title_full_unstemmed |
OAS DB: a shared infrastructure to support OpenAPI research |
| title_sort |
OAS DB: a shared infrastructure to support OpenAPI research |
| author |
Stoll, Alex Braha |
| author_facet |
Stoll, Alex Braha |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Chaim, Marcos Lordello |
| dc.contributor.author.fl_str_mv |
Stoll, Alex Braha |
| dc.subject.por.fl_str_mv |
Análise estática Anti-pattern Anti-pattern Code generation Geração de programas Injeção de defeitos em software OpenAPI OpenAPI Repositório Repository REST API REST API Software fault injection Static analysis |
| topic |
Análise estática Anti-pattern Anti-pattern Code generation Geração de programas Injeção de defeitos em software OpenAPI OpenAPI Repositório Repository REST API REST API Software fault injection Static analysis |
| description |
It is common knowledge the great success achieved by the Web in the last decades. Together with the rise of Web systems in general, it came the increase of the number of Web APIs. There are many specifications used to describe an Web API. One of the most popular ones is OpenAPI. This specification allows one to describe all the resources that can be accessed and manipulated through a REST Web API. An OpenAPI specification can be used to perform different kinds of analysis and verification of the service implementing the described API. A common challenge faced by researchers, however, is the lack of shared validation infrastructure or a standard benchmark. The main contribution of our research is a software artifact --- called OAS DB (OpenAPI Specifications Database) --- that aims to provide researchers and industry practitioners with a complete solution to streamline the validation of new OpenAPI related techniques and tools. OAS DB is able to generate complete OpenAPI specifications and their corresponding mock implementations. It is also both capable of injecting faults and anti-patterns in these generated specifications/mock implementations and of indicating --- through machine-readable files --- which issues and anti-patterns are present in the generated assets. We use OAS DB to assess tools relying on both static and dynamic techniques to detect faults and anti-patterns in OpenAPI specifications. Our results indicate that these tools fail to detect relevant faults and anti-patterns in the synthetic APIs generated by OAS DB, indicating that there is room to improve these tools and the ways in which they are applying static and dynamic analysis techniques. The present work also has as contributions: a) a proof of concept REST API anti-pattern detector (which we call Oasis) and b) the description of a novel REST anti-pattern not described in the literature so far |
| publishDate |
2022 |
| dc.date.none.fl_str_mv |
2022-03-28 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
https://www.teses.usp.br/teses/disponiveis/100/100131/tde-25052022-214725/ |
| url |
https://www.teses.usp.br/teses/disponiveis/100/100131/tde-25052022-214725/ |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.relation.none.fl_str_mv |
|
| dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.coverage.none.fl_str_mv |
|
| dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
| publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
| instname_str |
Universidade de São Paulo (USP) |
| instacron_str |
USP |
| institution |
USP |
| reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
| collection |
Biblioteca Digital de Teses e Dissertações da USP |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
| repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
| _version_ |
1826319269231591424 |