一句话:提出 PyXray,通过对象布局分析构建 Python 与 C/C++/Rust 二进制扩展间的跨语言调用图。
许多软件包将 Python 等高级语言代码与由 C、C++ 或 Rust 编译的二进制扩展结合,以提升性能或提供特定功能。这种混合使得高级函数调用可能触发本地(二进制)代码执行,从而给调用图生成带来挑战。准确的调用图对漏洞管理、软件维护、执行路径追踪、安全风险评估以及识别未使用或冗余代码都很重要。PyXray 针对该问题,提出通过对象布局分析来构建实用的跨语言调用图,以连接 Python 层调用与底层二进制扩展中的实现。摘要未给出具体实验数据,但强调其实用性,目标服务于漏洞管理与软件维护等任务。
A great number of software packages combine code in high-level languages, such as Python, with binary extensions compiled from low-level languages such as C, C++ or Rust to either boost efficiency or enable specific functionalities. In this context, high-level function calls can trigger native (binary) code execution. This setup introduces challenges for call graph generation. Accurate call graphs are essential for various applications, including vulnerability management and software maintenance, as they help track execution paths, assess security risks, and identify unused or redundant code.
@inproceedings{paperbot11597,
title = {PyXray: Practical Cross-Language Call Graph Construction through Object Layout Analysis},
author = {Georgios Alexopoulos and Thodoris Sotiropoulos and Georgios Gousios and Zhendong Su and Dimitris Mitropoulos},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3744916.3764555}
}