发明名称 |
Implicit software dependency analysis |
摘要 |
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. |
申请公布号 |
US9411707(B1) |
申请公布日期 |
2016.08.09 |
申请号 |
US201514871983 |
申请日期 |
2015.09.30 |
申请人 |
Semmle Limited |
发明人 |
Hale Joshua George;Cartey Luke James |
分类号 |
G06F9/44;G06F9/45;G06F11/36;H04L29/06 |
主分类号 |
G06F9/44 |
代理机构 |
Fish & Richardson P.C. |
代理人 |
Fish & Richardson P.C. |
主权项 |
1. A computer-implemented method comprising:
receiving a request to generate implicit dependencies introduced by remote procedure calls in a project; identifying, in the project, a registration of a remote procedure call, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call; identifying, in the project, an invocation of the remote procedure call using the name for the remote procedure call, wherein the invocation occurs in a source software element of the project; identifying, in the project, a definition of the target function of the remote procedure call, 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 being a dependency from the source software element to the target software element; generating data representing an aggregated dependency graph from the raw dependency graph and a hierarchy graph of the software elements in the project; and providing a user interface presentation that presents the implicit dependency introduced by the remote procedure call in the aggregated dependency graph. |
地址 |
Oxford GB |