我们正在项目中使用工具。该工具有自己的语言,类似于Java。我正在寻找一种可以应用于新语言的静态分析工具。 是否有可以针对任何语言定制的静态分析工具?或者是否有任何关于如何为我们自己的语言开发静态分析工具的文档或任何参考文献?
感谢。
答案 0 :(得分:3)
根据您的真实需要,Rascal可能有所帮助:
Rascal是一种领域特定语言,用于源代码分析和操作a.k.a.元编程。
答案 1 :(得分:2)
DMS Software Reengineering Toolkit是用于构建静态和动态程序分析工具的基础架构。 DMS还有大量前端用于广泛使用的语言及其方言(C,C ++,Java,C#,COBOL,Fortran ......)
如果您的语言与Java非常相似,那么您可能很容易构建覆盖您语言的现有Java前端的方言。从那时起,您可以构建一个您选择的静态分析工具。
静态分析是一个非常广泛的话题。通常,要做到这一点,您需要知道信息如何在您的程序中流动:控制流,数据流,指针,调用图等.DMS提供实现所有这些的基础设施;再次,您可以修改Java的实现。