InferCG:通过静态分析和大型语言模型提升Python调用图的生成质量

《ACM Transactions on Software Engineering and Methodology》:InferCG: Enhancing Python Call Graph Generation via Static Analysis and Large Language Models

【字体: 时间:2026年03月23日 来源:ACM Transactions on Software Engineering and Methodology

编辑推荐:

  Python静态分析中调用图构建面临动态类型、第三方库和运行时行为等挑战,导致传统方法精度与召回率失衡。本文提出的InferCG框架通过粗粒度静态分析与LLM(如DeepSeek、Qwen)语义推理结合:首先用宽松匹配生成高召回候选调用集,再通过LLM过滤不可信边。实验表明InferCG在DyPyBench和开源项目上平均召回率提升13.9%,F1值提高5%,且在漏洞检测场景中优于依赖分析工具。

  
要查看此由人工智能生成的摘要,您必须具有高级访问权限。

摘要

摘要

调用图构建是Python静态分析和软件工程中的基础组成部分。然而,由于Python的独特特性,它面临着重大挑战。具体来说,Python的动态类型系统、大量第三方库的使用以及运行时依赖的行为为传统的静态分析方法带来了实质性障碍。尽管这些方法通常能够达到高精度,但它们的召回率较低,这使得在可靠性和精度之间难以找到平衡。在本文中,我们提出了InferCG,这是一个混合框架,它通过结合粗粒度静态分析和基于大型语言模型(LLM)的语义推理来克服这些限制。InferCG首先使用宽松的名称和元数匹配来构建高召回率的候选调用集,然后利用DeepSeek和Qwen等强大的LLM来语义过滤不合理的边。这种两阶段设计在不需要动态执行或大量类型注释的情况下平衡了召回率和精度。在精心挑选的开源Python项目以及DyPyBench基准测试中的实验表明,InferCG的性能优于现有的静态工具,平均召回率提高了13.9%,平均F1分数提高了5.0%。此外,在实际的可疑函数检测场景中,InferCG能够比基于依赖关系的工具提供更准确的可达性分析。

人工智能摘要

人工智能生成的摘要(实验性)

此摘要是使用自动化工具生成的,并非由文章作者编写或审核的。它旨在帮助发现、帮助读者评估相关性,并协助来自相关研究领域的读者理解本文的工作。它旨在补充作者提供的摘要,后者仍然是文章的官方摘要。完整文章才是权威版本。点击此处了解更多

点击此处对摘要的准确性、清晰度和实用性进行评论。您的反馈将有助于改进和未来重新生成的版本。

要查看此由人工智能生成的通俗语言摘要,您必须具有高级访问权限。

相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号