存储过程的任何静态代码分析工具?

时间:2009-02-10 08:04:02

标签: database tsql stored-procedures plsql static-analysis

是否有static code analysis stored procedures工具专门用PL/SQLT-SQL撰写?

9 个答案:

答案 0 :(得分:7)

对于T-SQL,Microsoft拥有VS Team Suite的数据库版本(尽管我相信它现在在开发SKU中)。此链接讨论为T-SQL编写自己的静态代码分析规则:http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-analysis-rules.aspx

答案 1 :(得分:6)

Oracle内置了一些鲜为人知的东西。

在10g第2版或更高版本中试用:

ALTER SESSION PLSQL_WARNINGS = 'ENABLE:ALL';

然后编译您的PL / SQL包(不是匿名块)。

答案 2 :(得分:4)

Toad使用CodeXpert实用程序来静态检查您的PL / SQL代码。

该实用程序可以扫描文件或直接连接到Oracle数据库。据我所见,仅适用于Windows。

答案 3 :(得分:4)

免费试用Sql Code Guard。它为T-Sql代码提供快速而全面的静态分析,显示代码复杂性和对象依赖性

答案 4 :(得分:3)

对于PL / SQL,Toad CodeXpert可以是extended with Sonar,这是一个通过插件管理代码质量的开源工具。

我想也可以为T-SQL编写一个插件。

答案 5 :(得分:2)

我所知道的最近的事情是estimated and actual query plan中可用的SQL Server Management Studio函数,但我猜测similar SQL引擎有other

答案 6 :(得分:2)

我们的SD Source Code Search Engine是一种工具,可以通过令牌(标识符,数字等)预先索引源代码文件,以高效的方式,以多种计算机语言(包括PL / SQL)交互式搜索大型源代码库。作为预索引步骤的副作用,它为每个文件计算标准度量标准:SLOC,Cyclomatic,Halstead,...并生成报告。请参阅网站以获取示例。

我们的SD CloneDR是一个分析冗余代码的大型代码库的工具。我们已将它应用于PL / SQL,并且已经看到了克隆中涉及的代码的45%。因人而异。 CloneDR适用于各种各样的语言;请参阅该网站,了解其他一些语言中的样本克隆检测。

编辑10/4/2010:

我们的Source Code Search Engine旨在实现跨大型混合语言代码的快速搜索。它通过预编索源代码成功。作为索引步骤的副作用,它计算了各种指标,包括Cyclomatic和Halstead复杂度量。

刚补充说:不是静态分析工具,而是人们对软件质量感兴趣的一般感兴趣: 我们的TestCoverage for PLSQL stored procedures

答案 7 :(得分:1)

不是我知道的。 Regardng PL / SQL,因为Oracle没有公开他们的PL / SQL编译引擎,很难找到工具支持。

我能做的最多的事情就是查询数据字典,以便映射包依赖关系。

答案 8 :(得分:0)

作为T-SQL帖子的后续内容; VS2010和VS2008数据库开发版本附带内置静态分析规则。这些是用户可扩展的,即您可以用.net语言编写自己的分析规则。开源项目Neznayka附带了一套最初的22条规则,为您开始贡献自己的规则提供了有用的基础。

不可否认,你必须为Visual Studio做好准备,并准备使用开发db代码 VS项目,但最近发布的SSDT作为SSMS的一个插件,提出了一个前景,即微软可能会有这样的意愿,允许用户编写的规则分发到使用MS SQL项目的环境中。免费'开发数据库代码。

Neznayka的链接。

或搜索网页。