PyCG公司 swMATH ID: 37995 软件作者: Vitalis Salis、Thodoris Sotiropulos、Panos Louridas、Diomidis Spinellis、Dimitris Mitropulos 描述: PyCG:Python中的实用调用图生成。调用图在不同的上下文中发挥着重要作用,例如剖析和漏洞传播分析。对于模块化、包含动态特性和高阶函数的高级语言来说,高效生成调用图是一项具有挑战性的任务。尽管该语言很流行,但很少有工具旨在为Python程序生成调用图。更糟糕的是,这些工具存在一些有效性问题,这些问题限制了它们在实际程序中的实用性。我们提出了一种在Python中生成调用图的实用静态方法。我们通过过程间分析计算函数、变量、类和模块的程序标识符之间的所有赋值关系。基于这些赋值关系,我们通过解析对潜在调用函数的所有调用来生成结果调用图。值得注意的是,底层分析的设计是高效和可伸缩的,可以处理几个Python特性,例如模块、生成器、函数闭包和多重继承。我们使用两个基准评估了我们的原型实现(我们称之为PyCG):一个包含小型Python程序的微基准套件和一组包含几个流行的真实Pythons包的宏观基准。我们的结果表明,PyCG可以在不到一秒钟的时间内高效地处理数千行代码(平均1kLoC为0.38秒)。此外,它在精确度和召回率方面都优于Python的最新技术:PyCG达到了99.2的高精确度 主页: https://arxiv.org/abs/2103.00587 源代码: https://github.com/vitsalis/PyCG 依赖项: 蟒蛇 关键词: 编程语言;arXiv_cs。损益;软件工程;arXiv_cs。东南方;蟒蛇;调用图;项目分析;跨过程分析;漏洞传播 相关软件: ast公司;守门人;Synode(合成码);法官;WALA公司;节点.js;烟尘;侏儒图;SAFEWAPI公司;帕拉米科;PyYAML公司;净现值法;取决于;JSAI公司;Callgrind公司;代码2图形;平安3;JavaScript脚本;蟒蛇 引用于: 0个文档 标准条款 1出版物描述软件 年份 PyCG:Python中的实用调用图生成arXiv公司Vitalis Salis、Thodoris Sotiropoulos、Panos Louridas、Diomidis Spinellis、Dimitris Mitropoulos 2021