用于程序表征与内存重用轮廓估计的 LLVM 静态分析
软件工程
2023-11-28 v1 性能
编程语言
摘要
动态剖析各种应用特征(包括所执行的不同算术运算的数量、内存占用等)是耗时且耗空间的。另一方面,静态分析方法虽快,但准确性较低。本文提出一种基于 LLVM 的概率静态分析方法,该方法通过以常数时间分析 LLVM IR 文件来准确预测不同程序特征并估计程序重用距离轮廓,而与程序输入规模无关。我们生成目标应用核的基本块级控制流图,并通过求解涉及相邻基本块转移概率的线性平衡方程来确定基本块执行次数。最后,我们以括号格式表示核内存访问,并采用递归算法计算重用距离轮廓。结果表明,与另一种基于 LLVM 的动态代码分析工具 Byfl 相比,我们的方法能准确预测应用特征。
引用
@article{arxiv.2311.12883,
title = {LLVM Static Analysis for Program Characterization and Memory Reuse Profile Estimation},
author = {Atanu Barai and Nandakishore Santhi and Abdur Razzak and Stephan Eidenbenz and Abdel-Hameed A. Badawy},
journal= {arXiv preprint arXiv:2311.12883},
year = {2023}
}
备注
This paper was accepted at the MEMSYS '23 conference, The International Symposium on Memory Systems, October 02, 2023 - October 05, 2023, Alexandria, VA