Web API Specification Generation from Access Logs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
It is challenging to create a Web API specification without the source code that implements the Web API, as existing methods require source code with appropriate comments, making it difficult to generate the specification effectively.
Innovation Solution
An information processing device generates API specification information by analyzing class relationship information and access logs to create assumed and actual endpoints, converting verbs into method names and nouns into paths, and merging these to form specification endpoints, enabling the creation of a Web API specification without the need for source code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If Web API specification is created from source code with comments, then API specification information can be generated, but it requires source code implementation which is difficult to create and maintain
Solution Approach 1:
The patent creates a copy of the API specification by analyzing access logs and class relationship information rather than relying on the original source code. The system extracts endpoint information from execution logs and reconstructs the specification, providing a specification copy that can be generated without access to the original source code implementation.
Solution Approach 2:
The patent introduces access logs and class relationship information as intermediary elements between the Web API implementation and the specification generation process. Instead of directly parsing source code, the system uses these intermediaries (execution logs showing actual API calls and class diagrams showing object relationships) to infer and generate the specification, thereby eliminating the need for direct source code access.
2Ease of manufacture
If Web API specification is created without source code, then ease of specification creation is improved, but reliability of specification accuracy may deteriorate
Solution Approach 1:
The patent uses access logs as feedback information that reflects actual API usage and execution. By analyzing these logs, the system validates and refines the generated specification, ensuring accuracy through real execution data. The class relationship information provides additional feedback about the intended structure, allowing cross-validation to maintain high reliability without source code access.
Solution Approach 2:
The patent performs preliminary analysis of access logs and class relationship information before generating the final specification. This preliminary processing extracts and organizes endpoint patterns, method names, and path information in advance, building a foundation that ensures specification accuracy is maintained even without direct source code access.
3Productivity
If existing Web App data is used to create API specification, then productivity of specification generation is improved, but loss of information about actual endpoint implementations may occur
Solution Approach 1:
The patent extracts essential endpoint information from access logs, including method names, paths, and usage patterns. By taking out only the necessary information (endpoint structure and usage) while filtering out implementation-specific details, the system generates specifications efficiently without losing critical API definition information.
Solution Approach 2:
The patent segments the analysis process into separate stages: extracting endpoint patterns from access logs, analyzing class relationship information, and synthesizing the final specification. This segmentation allows efficient processing of large log files and complex class diagrams independently, improving productivity while preserving complete endpoint implementation information through systematic recombination.
Data Source
AI summary
A relationship analyzing unit generates an assumed endpoint based on class relationship information. A log analyzing unit refers to the class relationship information and extracts noun-verb information from an access log, and an actual endpoint generating unit generates an actual endpoint by converting a verb in the noun-verb information into an HTTP method name and converting a noun therein into a path. A merge unit identifies an endpoint included in assumed endpoints generated by the relationship analyzing unit, as a specification endpoint, among actual endpoints.


