Der*_*urn 4 c++ static-analysis introspection
我正在为我的PHD论文进行一些自定义C++静态代码分析.作为C++类型系统扩展的一部分,我想要一个C++代码库,并以最小的努力(它只是一个原型)枚举其可用的函数,方法和类,以及它们的类型签名.快速轻松地完成这样的事情的最佳方法是什么?我是否应该抨击Clang吐出我需要的信息?我应该看看像SWIG这样解析头文件吗?或者我可以做更容易的事情?
基于GCC的GCCXML可能是门票.据我了解,它收集和转储所有定义,但不收集函数/方法的内容.
其他人可能会提到CLANG,它肯定会解析代码并且必须能够访问编译单元中符号的定义.(我这里没有经验).
为了完整起见,您应该了解我们的DMS软件再造工具包 及其C++前端.(CLANG答案似乎说"走AST").DMS解决方案提供包含所有类型信息的可枚举符号表.如果你愿意的话,你也可以走AST.
静态分析通常会导致诊断,并且需要更改源代码.DMS可以应用源到源程序转换来执行由分析条件限制的这种改变.