API-Spector: an API-to-API Specification Recommendation Engine

AI-generated keywords: API-Spector OpenAPI BERT SENT-BERT TF-IDF

AI-generated Key Points

  • API-Spector is a recommendation engine that helps developers design sustainable APIs
  • It retrieves relevant OpenAPI specification components from public or internal databases
  • It addresses the lack of standardized methods for comparing API designs
  • Innovative feature extraction techniques are used, optimized for the highly technical API specification domain
  • Novel methods of processing and extracting key information from OpenAPI specifications are used
  • Natural language text similarity is used to characterize endpoints based on descriptions and summaries found in the operations section
  • Pre-trained language models such as BERT and SENT-BERT are used to obtain contextual representations of the text
  • Keyword tokens are obtained through pre-processing the entire text which generates TF-IDF and PPMI scores for these keywords allowing representation of domain-specific terms not well represented in pre-trained language models.
  • The enriched text features obtained by combining both approaches consistently outperform other text features across all evaluation tasks.
  • User studies evaluating API-Spector's usefulness achieved best performance with 0.690 recall, 0.475 precision, and 0.562 F1 scores compared to baseline models.
  • Overall, API-Spector provides guidance to accelerate development processes thoughtfully designed APIs that promote code maintainability and quality while allowing developers to learn from existing established examples and potentially identify redundancies in their work.
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Sae Young Moon, Fran Silavong, Sean Moran

License: CC BY-NC-SA 4.0

Abstract: When designing a new API for a large project, developers need to make smart design choices so that their code base can grow sustainably. To ensure that new API components are well designed, developers can learn from existing API components. However, the lack of standardized method for comparing API designs makes this learning process time-consuming and difficult. To address this gap we developed the API-Spector, to the best of our knowledge one of the first API-to-API specification recommendation engines. API-Spector retrieves relevant specification components written in OpenAPI (a widely adopted language used to describe web APIs). API-Spector presents several significant contributions, including: (1) novel methods of processing and extracting key information from OpenAPI specifications, (2) innovative feature extraction techniques that are optimized for the highly technical API specification domain, and (3) a novel log-linear probabilistic model that combines multiple signals to retrieve relevant and high quality OpenAPI specification components given a query specification. We evaluate API-Spector in both quantitative and qualitative tasks and achieve an overall of 91.7% recall@1 and 56.2% F1, which surpasses baseline performance by 15.4% in recall@1 and 3.2% in F1. Overall, API-Spector will allow developers to retrieve relevant OpenAPI specification components from a public or internal database in the early stages of the API development cycle, so that they can learn from existing established examples and potentially identify redundancies in their work. It provides the guidance developers need to accelerate development process and contribute thoughtfully designed APIs that promote code maintainability and quality.

Submitted to arXiv on 14 Dec. 2022

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2212.07253v1

API-Spector is a recommendation engine that assists developers in designing sustainable APIs by retrieving relevant OpenAPI specification components from a public or internal database. It addresses the lack of standardized methods for comparing API designs by using innovative feature extraction techniques optimized for the highly technical API specification domain. These include novel methods of processing and extracting key information from OpenAPI specifications as well as natural language text similarity to characterize endpoints based on descriptions and summaries found in the operations section. To obtain contextual representations of the text, pre-trained language models such as BERT and SENT-BERT are used. Additionally, keyword tokens are obtained through pre-processing the entire text which generates TF-IDF and PPMI scores for these keywords allowing representation of domain-specific terms not well represented in pre-trained language models. The enriched text features obtained by combining both approaches consistently outperform other text features across all evaluation tasks. User studies evaluating API-Spector's usefulness in a realistic scenario achieved best performance with 0.690 recall, 0.475 precision, and 0.562 F1 scores compared to baseline models. Overall, API-Spector provides guidance to accelerate development processes thoughtfully designed APIs that promote code maintainability and quality while allowing developers to learn from existing established examples and potentially identify redundancies in their work.
Created on 08 Apr. 2023

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.