首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构建静态代码分析工具?

如何构建静态代码分析工具?
EN

Stack Overflow用户
提问于 2010-12-17 14:37:57
回答 4查看 9.3K关注 0票数 25

我正在为一家大公司的专有语言理解和构建一个静态代码分析工具。这样做的原因是,我必须审查相当大的代码库,静态代码分析会有很大帮助,但到目前为止,他们还没有针对该语言的代码分析。

我想知道如何为C语言构建静态代码分析工具,例如Lint或SpLint。

任何书籍、文章、博客、sites..etc都会有所帮助。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2014-01-30 22:36:42

我知道这是一个古老的帖子,但答案似乎并不那么令人满意。This article很好地介绍了静态分析工具背后的技术,并提供了几个指向示例的链接。

有一本好书是Brian West和Jacob West写的"Secure Programming with Static Analysis“。

票数 6
EN

Stack Overflow用户

发布于 2011-08-12 11:05:40

您需要良好的基础设施,例如解析器、树构建器、树分析器、符号表构建器、流分析器,然后为了继续执行您的特定任务,您需要使用所有的基础设施机械,针对您感兴趣的特定问题编写特定的检查代码。

构建所有的基础机器实际上是相当困难的,而且它不能帮助您完成特定的任务。人们不会为他们编写的每个应用程序编写操作系统;为什么要构建所有的基础设施?就像操作系统一样,如果你只是简单地获得良好的基础设施,那就更好了。

人们会告诉你lex和yacc。这有点像建议你使用操作系统的实时通用部分;很有用,但离你真正需要的所有基础设施还差得远。

我们的DMS Software Reengineering Toolkit提供了所有必要的基础设施。它已经被用来为这些语言定义many language front endsmany tools

这样的基础设施将允许您相对快速地定义特定的非标准语言,然后继续编写特殊检查的代码。

票数 4
EN

Stack Overflow用户

发布于 2021-05-07 08:00:29

DeepSource有一个博客,它涵盖了人们需要知道的一切,以建立对静态代码分析的理解,并为您配备基本理论和正确的工具,以便您可以自己编写分析器。

这里有个链接:https://deepsource.io/blog/introduction-static-code-analysis/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4468309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档