发明名称 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.
申请公布号 US2017090877(A1) 申请公布日期 2017.03.30
申请号 US201615090468 申请日期 2016.04.04
申请人 SEMMLE LIMITED 发明人 Hale Joshua George;Cartey Luke James
分类号 G06F9/44;G06F11/36 主分类号 G06F9/44
代理机构 代理人
主权项 1. A computer-implemented method comprising: receiving a request to generate implicit dependencies introduced by a reflection function in a project, wherein a reflection function is a function by which a program accesses attributes of the program's own source code; executing a query that emulates at least some behavior of the reflection function to generate names of one or more target software elements that the reflection function outputs at runtime; identifying a source software element that uses output of the reflection function; generating, in a raw dependency graph, one or more respective new dependencies representing one or more implicit dependencies between the source software element and each of the one or more target software elements; and generating, in an aggregated dependency graph that is different from the raw dependency graph, one or more respective aggregated dependencies respectively representing the one or more implicit dependencies between the source software element and each of the one or more target software elements.
地址 Oxford GB