Build System Documentation Enforcement via Source Code Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Documentation for application programming interfaces (APIs) often becomes outdated during software development, leading to inconsistencies between source code and documentation, which can result in developers being unaware of functionality, arguments, or return values, making it difficult to maintain accurate documentation.

Innovation Solution

A system that evaluates source code during the build process to determine if documentation exists, matches function definitions, and checks for correct arguments and return values, halting the build process if inconsistencies are found and displaying error messages to prompt developers to update documentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually maintain documentation during software development, then documentation can be updated to reflect source code changes, but documentation becomes outdated and inconsistent with source code

Engineering Contradiction:
Improvedocumentation accuracyVSAvoidtime to maintain documentation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements automated feedback by evaluating source code during the build process and comparing it against documentation. When inconsistencies are detected (such as missing documentation, incorrect function signatures, or outdated return values), the system generates error messages that prompt developers to update documentation, ensuring continuous synchronization between code and documentation without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary evaluation of documentation before the build process completes. By checking for documentation existence, function definition matching, argument correctness, and return value accuracy in advance, the system prevents build failures caused by outdated documentation and ensures documentation is ready before deployment.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If developers are required to update documentation manually, then documentation can be kept current, but the development process becomes more complex and time-consuming

Engineering Contradiction:
Improvedocumentation consistencyVSAvoiddevelopment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically evaluating source code and documentation consistency without requiring manual intervention from developers. The build system itself performs the documentation validation, function matching, and error detection, eliminating the need for separate manual documentation review processes and reducing overall process complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system merges documentation validation into the existing build process. By integrating documentation evaluation, function definition matching, and consistency checking into the standard compilation workflow, the system eliminates the need for separate documentation maintenance processes and reduces the overall complexity of the development workflow.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If documentation is not maintained accurately, then developers can focus solely on coding without documentation overhead, but developers become unaware of API functionality, arguments, or return values

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidAPI documentation information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system provides automated feedback to developers about documentation status. By evaluating source code during builds and comparing it against documentation, the system generates error messages that inform developers of missing or outdated documentation, ensuring they remain aware of API functionality, arguments, and return values without requiring manual documentation reviews.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12061901B2Documentation enforcement during compilation
Publication Date: 2024.08.13 AMERICAN EXPRESS TRAVEL RELATED SERVICES CO INC
  • US12061901B2 patent drawing
  • US12061901B2 patent drawing
  • US12061901B2 patent drawing

AI summary

Disclosed are approaches for enforcing requirements that documentation be up to date. In response to initiation of a build process for an application, a source-code file associated with the application is evaluated to determine an identifier and a location for a corresponding documentation file. A determination can be made regarding whether the documentation file exists at the location. Another determination can be made regarding whether each function specified in the source-code file has a corresponding entry in the documentation file. The build process can be halted in response to determining that at least one function specified in the source-code file fails to have the corresponding entry in the documentation file. If the build process is halted, a message can be displayed on the computing device, the message identifying the at least one function specified in the source-code file that fails to have the corresponding entry in the documentation file.