论文标题

在不断发展的软件系统的版本系列中调用图表进化分析

Call Graph Evolution Analytics over a Version Series of an Evolving Software System

论文作者

Chaturvedi, Animesh

论文摘要

呼叫图进化分析可以在维护或发展软件系统时帮助软件工程师。本文提出了呼叫图Evolution Analytics,以从Evolving Call Graph ECG = CG_1,CG_2,... CG_N的版本序列vs vs = V_1,V_1,V_2,... V_N的V_N中提取信息。这是使用Call Graph Evolution规则(CGER)和CALL Graph Evolution子图(CGESS)完成的。与关联规则挖掘类似,使用CGER来捕获系统中依赖关系的共发生。像呼叫图中的子图模式一样,CGESS用于捕获不断发展的呼叫图中依赖性模式的演变。对这些模式中演变的呼叫图分析可以识别需要注意的潜在影响的依赖关系(或过程调用)。实验是在10个大型不断发展的系统的不断发展的呼叫图上进行的,以支持依赖性进化管理。我们还考虑了一项针对Maven-Core版本序列不断发展的呼叫图的详细研究的结果。

Call Graph evolution analytics can aid a software engineer when maintaining or evolving a software system. This paper proposes Call Graph Evolution Analytics to extract information from an evolving call graph ECG = CG_1, CG_2,... CG_N for their version series VS = V_1, V_2, ... V_N of an evolving software system. This is done using Call Graph Evolution Rules (CGERs) and Call Graph Evolution Subgraphs (CGESs). Similar to association rule mining, the CGERs are used to capture co-occurrences of dependencies in the system. Like subgraph patterns in a call graph, the CGESs are used to capture evolution of dependency patterns in evolving call graphs. Call graph analytics on the evolution in these patterns can identify potentially affected dependencies (or procedure calls) that need attention. The experiments are done on the evolving call graphs of 10 large evolving systems to support dependency evolution management. We also consider results from a detailed study for evolving call graphs of Maven-Core's version series.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源