arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1610.04594cs.SE
收藏

用于调用图生成的代码定义分析

Code Definition Analysis for Call Graph Generation

Anne Veenendaal, Elliot Daly, Eddie Jones, Zhao Gang, Sumalini Vartak, Rahul S Patwardhan

摘要:

企业级软件采用多层体系结构实现。这些层通常使用具有数百万行代码的解耦解决方案来实现。程序员在对问题进行故障排除时,经常需要跟踪和调试从用户界面层到数据访问层的函数调用。他们必须根据搜索结果检查代码,或者使用设计文档来构建调用图。这个过程既费时又费力。开发环境工具不足或仅限于分析加载的解决方案中的代码。本文提出了一种方法来构建一个调用的调用图,跨几个层次的代码驻留在不同的代码库,以帮助程序员更好地理解软件的设计和体系结构。对类、方法和属性的签名进行评估,然后与代码文件进行匹配。创建了匹配函数图。当没有匹配项或检测到数据层代码时,递归搜索停止。与人工搜索相比,该方法的准确率为78.26%。

英文摘要:

Enterprise level software is implemented using multi-layer architecture. These layers are often implemented using de-coupled solutions with millions of lines of code. Programmers often have to track and debug a function call from user interface layer to the data access layer while troubleshooting an issue. They have to inspect the code based on search results or use design documents to construct the call graph. This process is time consuming and laborious. The development environment tools are insufficient or confined to analyzing only the code in the loaded solution. This paper proposes a method to construct a call graph of the call across several layers of the code residing in different code bases to help programmers better understand the design and architecture of the software. The signatures of class, methods, and properties were evaluated and then matched against the code files. A graph of matching functions was created. The recursive search stopped when there were no matches or the data layer code was detected. The method resulted in 78.26% accuracy when compared with manual search.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑