Software Maintenance Toolkit for Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current documentation tools for software maintenance are inadequate in automating the storage, updating, and management of computer programs, particularly in identifying the impact of changes on modules and components, leading to cumbersome and inefficient maintenance processes.

Innovation Solution

A computer-implemented maintenance toolkit that includes a system processor, metadata retriever, impact analyzer, dependency recorder, and query manager to extract, analyze, and store metadata, identify dependencies, and generate reports on module interactions, enabling automated storage, updating, and management of computer programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If traditional textbook-type documentation is used to document software, then comprehensive information about the software can be recorded, but the documentation becomes voluminous and cumbersome to read and maintain

Engineering Contradiction:
Improvesoftware informationVSAvoiddocumentation readability
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent segments software documentation into structured metadata components (functional metadata, non-functional metadata, dependency metadata) organized by software components, modules, and packages. This segmentation transforms voluminous text into organized, queryable data structures that are easier to navigate and maintain while preserving comprehensive software information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates machine-readable metadata copies of software documentation that can be automatically extracted, stored, and queried. Instead of manually maintaining text documents, the system automatically generates and maintains metadata representations of software components, their dependencies, and specifications, reducing manual effort while preserving information completeness.

Inventive Principle:
Principle #26Copying

2Reliability

If developers manually update documentation during software development phases, then documentation can be kept current, but the process becomes tedious and error-prone

Engineering Contradiction:
Improvedocumentation accuracyVSAvoiddocumentation maintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements self-service documentation where the software build system automatically generates and updates metadata during the build process. The metadata is extracted automatically from source code, dependencies, and build configurations without requiring manual intervention from developers, ensuring documentation accuracy while eliminating the time-consuming manual update process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes feedback loops where metadata is automatically validated, cross-referenced, and updated based on changes in the software codebase. The build system continuously monitors software changes and automatically updates corresponding metadata, ensuring documentation remains synchronized with the actual software state without manual effort.

Inventive Principle:
Principle #23Feedback

3Loss of information

If comprehensive software documentation is maintained manually, then all software information can be captured, but the maintenance burden increases and significance is lost

Engineering Contradiction:
Improvesoftware documentationVSAvoidmaintenance efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent replaces manual mechanical documentation processes with automated computational systems. Metadata extraction, validation, storage, and querying are performed automatically by the build system and maintenance toolkit, eliminating the manual labor of documentation maintenance while preserving comprehensive software information. This substitution dramatically improves maintenance efficiency by automating what was previously a manual, error-prone process.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If the maintenance team reads and understands complete documentation to provide support, then accurate support can be provided, but the process becomes time-consuming and updates may be missed

Engineering Contradiction:
Improvesupport accuracyVSAvoidsupport provision time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates machine-readable metadata copies of software documentation that can be automatically queried and analyzed by the maintenance toolkit. Instead of requiring support teams to read and understand voluminous text documentation, the system provides structured metadata that can be programmatically searched, analyzed, and interpreted, maintaining support accuracy while dramatically reducing the time required to understand software behavior and provide accurate support.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9588761B2Maintenance toolkit for the implementation of computer programs
Publication Date: 2017.03.07 TATA CONSULTANCY SERVICES LTD
  • US9588761B2 patent drawing
  • US9588761B2 patent drawing

AI summary

A maintenance toolkit for the implementation of computer programs is envisaged. The toolkit receives computer programs containing a plurality of modules. These modules contain a plurality of components. On reception of a computer program, the toolkit extracts metadata from the modules and the components present in the computer program, and then stores the metadata it in a local repository. The envisaged toolkit then creates a table identifying the components and modules inter-dependent and intra-dependent on each other and also creates a hierarchy table based on the identified dependencies. This allows the toolkit to create a dependency table which is then stored for future reference along with other corresponding information. When a user has any query related to any module or component present in the computer program, the toolkit accepts the query and creates reports based on the dependency data and user query. These reports are then provided to the user.