发明名称 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