ストアド プロシージャ用の静的コード分析ツールはありますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/531430

質問

いずれかがあります 静的コード分析 ためのツール ストアドプロシージャ 特に書かれているのは PL/SQL そして T-SQL?

役に立ちましたか?

解決

T-SQLについては、MicrosoftはVSチームスイートのデータベース版を持っている(私は信じている、が、その今devのSKUで)。 T-SQLのための独自の静的コード分析ルールの作成についてこのリンク会談:<のhref = "http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code解析 - -rules.aspx」のrel = "noreferrer"> http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-analysis-rules.aspx

他のヒント

Oracleは、内蔵のいくつかのあまり知られていないものを持っています。

10gリリース2以上でこれを試してください:

ALTER SESSION PLSQL_WARNINGS = 'ENABLE:ALL';

次に、あなたのPL / SQLパッケージ(ない無名ブロック)をコンパイルします。

ヒキガエル静的にPL / SQLコードをチェックするために CodeXpert のユーティリティを備えています。

ユーティリティは、ファイルをスキャンしたり、Oracleデータベースに直接接続することができます。私の知る限り見てきたように、Windows上でのみ動作します。

SQLコードガードする rel="nofollow">無料の

PL / SQLの場合、ヒキガエルCodeXpertはで拡張することができますソナーに、プラグインを介してコードの品質を管理するためのオープンソースツール。

私は同様にT-SQLのためのプラグインを作成することが可能であろうと思います。

私が知っている中で最も近いものは、 推定および実際のクエリ プラン で利用できる機能 SQL Server 管理スタジオ でもきっとあると思うよ 似ている のために 他の SQL エンジン。

私たちの SD対話的で大規模なソースコードベースを検索するためのツールですのソースコード検索エンジン(PL / SQLを含む)多くのコンピュータ言語効率的に、自分のトークン(識別子、数字など)によって、ソースコードファイルをpreindexingこともできます。ファイルごとにSLOC、循環的、ハルステッド、...、レポートを生成します。preindexingステップの副作用として、それは標準のメトリックを計算します。例えばサイトを参照してください。

SD CloneDR の冗長コードの大規模なコードベースを分析するためのツールです。私たちは、PL / SQLにそれを適用した、とクローンに関わるコードの45%のようなものを見てきました。 YMMV。 CloneDRはlangaugesの大きなvarietで動作します。これらの他のlangaugesの一部にサンプルクローン検出の実行のためのサイトを参照してください。

EDIT 2010年10月4日:

混合の大規模なコード全体に非常に高速な検索を可能にするために設計されての

私たちのソースコード検索エンジン言語。これは、ソースコードをpreindexingことで成功しています。索引付けステップの副作用としては、複雑さの循環的とハルステッド措置を含むメトリックの種々の計算

ちょうど追加:ない静的解析ツールが、一般の人々興味がソフトウェアの品質への関心の一つ。 Googleの TestCoverage PLSQLストアドプロシージャはのます。

私の知るないこと。 Oracleは彼らのPL / SQLコンパイル・エンジンの多くを公開していませんので、Regardng PL / SQL、そのツールのサポートを見つけるのは難しいます。

私が行うことができましたほとんどは、パッケージの依存関係をマッピングするようなことを行うために、データ・ディクショナリを照会することです。

T-SQLのためのポストにフォローとして、 VS2010とVS2008データベース開発版はビルドで静的解析ルールが付属しています。これらはすなわち、あなたは.NET言語で独自の分析ルールを記述することができ、ユーザー拡張可能です。オープンソースプロジェクトNeznaykaは22個のルールの最初のセットが付属しています、そしてあなた自身の貢献を開始するための有用な基盤を形成しています。

確かに、あなたは、Visual Studioのためにフォークすると、使用してDBコードを開発するために準備されてい VSのプロジェクトが、SSMSのためのプラグインとしてSSDTの最近のリリースでは、「それはそうする意志パワーを持っている場合、Microsoftは、ユーザーが記述したルールは、MS SQLプロジェクトを使用する環境に配布されることを可能にするという見通しを提起します自由のための」データベース・コードを開発します。

のリンク Neznayka に。

やウェブを検索します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top