Web API Specification Generation from Access Logs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of creating Web API specificationVSAvoidcomplexity of source code requirements
Core Design Contradiction:
Ease of manufactureVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveease of creating Web API specificationVSAvoidaccuracy of API specification
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvespeed of API specification generationVSAvoidloss of endpoint implementation details
Core Design Contradiction:
ProductivityVSLoss of information

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10248478B2Information processing device and specification creation method
Publication Date: 2019.04.02 FUJITSU LTD
  • US10248478B2 patent drawing
  • US10248478B2 patent drawing
  • US10248478B2 patent drawing

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.