IMPLICIT SOFTWARE DEPENDENCY ANALYSIS
First Claim
1. A computer-implemented method comprising:
- receiving a request to generate implicit dependencies introduced by runtime configuration files in a project;
identifying, in the project, a source software element that references a runtime configuration file, wherein the runtime configuration file specifies a target function that is invoked at runtime;
identifying, in the project, an invocation that references the runtime configuration file, wherein the invocation occurs in a source software element of the project;
identifying, in the project, a definition of the target function referenced by the runtime configuration file, wherein the target function is defined in a target software element of the project;
generating a new dependency in a raw dependency graph, the new dependency representing an implicit dependency from the source software element to the target software element; and
generating, in an aggregated dependency graph that is different from the raw dependency graph, an aggregated dependency representing the implicit dependency from the source software element to the target software element.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
-
Citations
27 Claims
-
1. A computer-implemented method comprising:
-
receiving a request to generate implicit dependencies introduced by runtime configuration files in a project; identifying, in the project, a source software element that references a runtime configuration file, wherein the runtime configuration file specifies a target function that is invoked at runtime; identifying, in the project, an invocation that references the runtime configuration file, wherein the invocation occurs in a source software element of the project; identifying, in the project, a definition of the target function referenced by the runtime configuration file, wherein the target function is defined in a target software element of the project; generating a new dependency in a raw dependency graph, the new dependency representing an implicit dependency from the source software element to the target software element; and generating, in an aggregated dependency graph that is different from the raw dependency graph, an aggregated dependency representing the implicit dependency from the source software element to the target software element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 25)
-
-
9. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving a request to generate implicit dependencies introduced by runtime configuration files in a project; identifying, in the project, a source software element that references a runtime configuration file, wherein the runtime configuration file specifies a target function that is invoked at runtime; identifying, in the project, an invocation that references the runtime configuration file, wherein the invocation occurs in a source software element of the project; identifying, in the project, a definition of the target function referenced by the runtime configuration file, wherein the target function is defined in a target software element of the project; generating a new dependency in a raw dependency graph, the new dependency representing an implicit dependency from the source software element to the target software element; and generating, in an aggregated dependency graph that is different from the raw dependency graph, an aggregated dependency representing the implicit dependency from the source software element to the target software element. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 26)
-
-
17. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
receiving a request to generate implicit dependencies introduced by runtime configuration files in a project; identifying, in the project, a source software element that references a runtime configuration file, wherein the runtime configuration file specifies a target function that is invoked at runtime; identifying, in the project, an invocation that references the runtime configuration file, wherein the invocation occurs in a source software element of the project; identifying, in the project, a definition of the target function referenced by the runtime configuration file, wherein the target function is defined in a target software element of the project; generating a new dependency in a raw dependency graph, the new dependency representing an implicit dependency from the source software element to the target software element; and generating, in an aggregated dependency graph that is different from the raw dependency graph, an aggregated dependency representing the implicit dependency from the source software element to the target software element. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 27)
-
Specification