SYSTEM AND METHOD FOR COMPUTER-AIDED GRAPH-BASED DEPENDENCY ANALYSIS
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a system and methods for analyzing dependencies. The dependencies that may be analyzed include, for example, dependencies among methods or procedures in software source code, or in system configuration or deployment. A layered system is provided, comprising a back-end layer, abstraction layer and user interface layer are used to derive dependency information from third-party tools, and present the information through uniform interfaces to a user-interface layer. The system maintains a dependency model as a hierarchical graph structure in computer memory, and provides a plurality of user views which may be manipulated actively or passively by the user. Active manipulations are propogated through the back-end layer to modify the system analyzed, and passive manipulations affect the user views without changing the analyzed system. The system provides advantages to users seeking to understand complex systems with many dependencies.
34 Citations
15 Claims
-
1-14. -14. (canceled)
-
15. A software system for modeling and analyzing software systems comprising:
-
a structure comprising a directed graph of interconnected nodes, each node representing a software entity and an edge between two nodes representing a dependency between the corresponding software entities, said structure further comprising a tree of nodes, separated from the directed graph, each node representing a software entity, a design entity or other abstract entity, and an edge from a first node to a second node in the said tree indicating that the first node contains the second node, a subset of the nodes in the said directed graph having corresponding nodes in the said tree;
a software program that infers from the structure that a first node in the said tree depends on a second node in the said tree if and only if at least one of the nodes in the subtree rooted at the first node has a corresponding node in the said directed graph, at least one of the nodes in the subtree rooted at the second node has a corresponding node in the said directed graph, and there is an edge in the said directed graph from the first corresponding node to the second; and
an editor comprising means for presenting subsets of nodes from the said tree, dependencies and dependencies inferred by the software program, to a user, said editor also comprising means for the user to edit said structure.
-
Specification