Clang上的CC++过程间分析的中期报告.docx
上传人:快乐****蜜蜂 上传时间:2024-09-14 格式:DOCX 页数:1 大小:10KB 金币:5 举报 版权申诉
预览加载中,请您耐心等待几秒...

Clang上的CC++过程间分析的中期报告.docx

Clang上的CC++过程间分析的中期报告.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

5 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Clang上的CC++过程间分析的中期报告中期报告:本次项目旨在实现Clang上的CC++过程间分析,实现了以下的主要功能:1.实现了从源代码中提取出函数调用图的功能。对于所有的函数定义,可以遍历其调用树,得到该函数所有的调用边,从而得到完整的函数调用图,保存为.dot格式。2.实现了从函数调用图中提取出函数依赖图的功能。对于函数调用图中的节点,按其调用的先后顺序从左往右编号,这样原来的边的顺序就能按照调用的顺序排列,从而得到函数依赖关系,保存为.dot格式。3.实现了从函数依赖图中检测出所有环路的功能。通过深度优先搜索算法,可以遍历所有节点,对于每个节点,标记其状态为“正在遍历”或“已遍历”,当某节点被标记为“正在遍历”时,如果再次被访问,则意味着存在环路。这样就可以得到所有的环路了。4.实现了从函数依赖图中检测出所有的公共子图的功能。对于所有的子图,可以得到其包含的节点及边,从而可以找到所有的公共子图,保存为.dot格式。目前实现的功能还比较基础,下一步将进一步完善整个分析过程,包括优化算法,提高分析的精确度,以及开发方便的接口。同时还将继续完善文档和测试用例,以保证完整的功能和安全的使用。