Generating Accurate OpenAPI Descriptions from Java Source Code
Alexander Lercher, Christian Macho, Clemens Bauer, Martin Pinzger

TL;DR
AutoOAS is a new approach that automatically generates precise OpenAPI descriptions from Java source code, outperforming existing methods in accuracy and detail, especially in handling configurations and data models.
Contribution
AutoOAS introduces a novel technique for extracting detailed REST API descriptions directly from Java source code, addressing limitations of prior approaches.
Findings
AutoOAS achieved the highest precision and recall in identifying API components.
It outperformed Respector by 39% in precision and 35% in recall for parameters.
AutoOAS uniquely handles configuration profiles and detailed data models.
Abstract
Developers require accurate descriptions of REpresentational State Transfer (REST) Application Programming Interfaces (APIs) for a successful interaction between web services. The OpenAPI Specification (OAS) has become the de facto standard for documenting REST APIs. Manually creating an OpenAPI description is time-consuming and error-prone, and therefore several approaches were proposed to automatically generate them from bytecode or runtime information. In this paper, we first study three state-of-the-art approaches, Respector, Prophet, and springdoc-openapi, and present and discuss their shortcomings. Next, we introduce AutoOAS, our approach addressing these shortcomings to generate accurate OpenAPI descriptions. It detects exposed REST endpoint paths, corresponding HTTP methods, HTTP response codes, and the data models of request parameters and responses directly from Java source…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Software System Performance and Reliability · Advanced Software Engineering Methodologies
