任何语言的静态分析工具定制

问题描述:

我们在我们的项目中使用了一个工具。这个工具有它自己的语言,类似于Java。我正在寻找可应用于新语言的静态分析工具。 是否有任何可以定制到任何语言的静态分析工具?或者是否有关于如何为我们自己的语言开发静态分析工具的文档或参考资料?任何语言的静态分析工具定制

谢谢。

+2

“静态分析”可以表示计算注释行与代码行的比率,以确保代码在运行时不会引发未捕获的异常。你应该指定你感兴趣的是什么样的静态分析。 – 2010-05-13 11:33:17

取决于你真正想要的,Rascal可以帮助:

流氓是源代码分析和操作又名元编程领域特定语言。

DMS Software Reengineering Toolkit是建设程序分析工具,静态和动态的基础设施。 DMS还有大量的广泛使用语言及其方言的前端(C,C++,Java,C#,COBOL,Fortran,...)

如果你的语言很像Java,能够轻松构建涵盖您的语言的现有Java前端的方言。从这一点开始,您可以构建您选择的静态分析工具。

静态分析是一个相当广泛的话题。一般来说,要做到这一点,您需要知道程序中的信息如何流动:控制流,数据流,指针分析,调用图等.DMS为实现所有这些提供了基础结构;再次,您可能可以修改Java的实现。