IP Library Patent Application 19281334
Patent Application
App. No. 19/281,334

PARSING DEPENDENCIES IN A CODEBASE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/281,334
Abstract

Embodiments are directed to an automated identification and analysis of dependencies in a codebase. In particular, dependency graphs are automatically generated to represent the dependencies in a format that may be used to generate dependency-based output. Dependency-based output may include any type of output that indicates or represents data or analysis associated with dependencies in a codebase. In some cases, a dependency graph may be used to generate a representation or indication of dependency data or analysis. For example, a dependency matrix may be generated using a dependency graph and provided as output to represent various dependency data.

Claims (62)

1 . A system, comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the system to:

obtain a plurality of code files;

automatically parse the plurality of code files to identify dependencies in association with the plurality of code files;

based on the identified dependencies, generate a dependency graph that represents the identified dependencies associated with the plurality of code files;

analyze the dependency graph to generate a dependency-based output that indicates analysis associated with the identified dependencies associated with the plurality of code files; and

provide, for display, the dependency-based output.

2 . The system of claim 1 , wherein parsing the plurality of code files comprises:

generating an abstract syntax tree for each of the plurality of code files; and

analyzing the abstract syntax trees to identify import statements and function calls.

3 . The system of claim 1 , wherein generating the dependency graph comprises:

creating nodes representing at least a portion of each of the plurality of code files; and

establishing edges between the nodes based on the identified dependencies.

4 . The system of claim 1 , wherein the dependency graph comprises a tree structure with a root node corresponding to a main code file and child nodes corresponding to dependent code files.

5 . The system of claim 1 , wherein the dependency-based output comprises a dependency matrix generated by:

creating rows corresponding to different views or components of a software application; and

creating columns corresponding to different code dependencies, wherein each cell in the matrix indicates whether a particular view or component depends on a particular code file.

6 . The system of claim 5 , wherein the instructions further cause the system to generate a migration roadmap by:

identifying views or components with fewer dependencies based on the dependency matrix; and

prioritizing migration of the identified views or components with fewer dependencies.

7 . The system of claim 1 , wherein the instructions further cause the system to:

identify an orphan code file in the dependency graph that has no incoming dependency or outgoing dependency; and

remove the identified orphan code file from a codebase to improve system performance.

8 . The system of claim 1 , wherein an identified dependency is represented using an incoming dependency or an outgoing dependency.

9 . The system of claim 1 , wherein the instructions further cause the system to:

automatically adjust a codebase associated with the plurality of files based on the dependency-based output.

10 . A method comprising:

obtaining a plurality of code files;

automatically parsing the plurality of code files to identify dependencies in association with the plurality of code files;

based on the identified dependencies, generating a dependency graph that represents the identified dependencies associated with the plurality of code files;

analyzing the dependency graph to generate a dependency-based output that indicates analysis associated with the identified dependencies associated with the plurality of code files; and

providing, for display, the dependency-based output.

11 . The method of claim 10 , wherein parsing the plurality of code files comprises:

generating an abstract syntax tree for each of the plurality of code files; and

analyzing the abstract syntax trees to identify import statements and function calls.

12 . The method of claim 10 , wherein generating the dependency graph comprises:

creating nodes representing at least a portion of each of the plurality of code files; and

establishing edges between the nodes based on the identified dependencies.

13 . The method of claim 10 , wherein the dependency graph comprises a tree structure with a root node corresponding to a main code file and child nodes corresponding to dependent code files.

14 . The method of claim 10 , wherein the dependency-based output comprises a dependency matrix generated by:

creating rows corresponding to different views or components of a software application; and

creating columns corresponding to different code dependencies, wherein each cell in the matrix indicates whether a particular view or component depends on a particular code file.

15 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

obtaining a plurality of code files;

automatically parsing the plurality of code files to identify dependencies in association with the plurality of code files;

based on the identified dependencies, generating a dependency graph that represents the identified dependencies associated with the plurality of code files;

analyzing the dependency graph to generate a dependency-based output that indicates analysis associated with the identified dependencies associated with the plurality of code files; and

providing, for display, the dependency-based output.

16 . The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processor to:

identify an orphan code file in the dependency graph that has no incoming dependency or outgoing dependency; and

remove the identified orphan code file from a codebase to improve system performance.

17 . The non-transitory computer-readable medium of claim 15 , wherein an identified dependency is represented using an incoming dependency or an outgoing dependency.

18 . The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processor to:

automatically adjust a codebase associated with the plurality of files based on the dependency-based output.

19 . The non-transitory computer-readable medium of claim 15 , wherein the dependency-based output comprises a dependency matrix generated by:

creating rows corresponding to different views or components of a software application; and

creating columns corresponding to different code dependencies, wherein each cell in the matrix indicates whether a particular view or component depends on a particular code file.

20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions further cause the processor to:

generate a migration roadmap by:

identify views or components with fewer dependencies based on the dependency matrix; and

prioritize migration of the identified views or components with fewer dependencies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2025
From: KARUMURI, BHANU PRATAP
To: CISCO TECHNOLOGY, INC.
Reel/Frame 071959/0049 →