C-analysis.netはだめですか?
開発ツールになにをお使いなのかわかりませんが、
Visual Studio 2010 以降をお使いであれば
Professional Edition 以上にコード分析機能が付いています。
以下に分析される規則が載っています。
http://msdn.microsoft.com/ja-jp/library/hh748325.aspx
▽3
●
a-kuma3 ●250ポイント ベストアンサー |
回答欄に引っ越してきました m(_ _)m
The main lexical analysis tools have been considered.
They are ITS4 1 [7] [8], Rats, 2 Flawfinder 3 and VulCAn [9].
https://www.ll.mit.edu/mission/communications/ist/publications/04_TestingStatic_Zitser.pdf
Table 1 provides a summary of the five static analysis
tools used in this evaluation. Four are open-source tools
(ARCHER, BOON, SPLINT, UNO) and one is a commer-
cial tool (Polyspace C Verifier).
バッファオーバーフローの解析をツールでやってるんだな、ってところしか読んでません (^^;
情報がちょっと古いかも。
ひとつ目は 2006年。
ふたつ目も、参考文献のところを読むと、2003 or 2004年以降だとは思いますけど、2010年に近いとは思えない。
4. TEST PROCEDURES
The evaluation consisted of analy z ing each test case (291 quadruplets), one at a time using the five static analy s is tools (ARCHER, BOON, Poly Space, Splint, and UNO), and collecting tool outputs.
これも古そうです。
https://buildsecurityin.us-cert.gov/articles/tools/source-code-analysis/source-code-analysis-tools---references
↑によると、2005年のものみたいです。
この一覧で、他のを見てみようかなと思ったのですが、どれも古そうなので、新しい 2008年のやつだけ見てみました。
http://liu.diva-portal.org/smash/get/diva2:330560/FULLTEXT01.pdf
8 A comparison of the tools
Shallow static analysis tools based on pattern matching such as FlexeLint [14]
have been around since the late 1980s. Lately several sophisticated industrial-
strength static analysis tools have emerged. In this report we study tools from
three of the main providers|PolySpace, Coverity and Klocwork.
...
これ以降、PolySpace, Coverity, Klocwork の他にもツールの記載があるのですが、バッファ オーバーフローの検知ができるのかがはっきりしません。
この三つは、比較表の中で、Buffer overrun の項目に Yes がついているので、対応していることは分かります。
最後にもうひとつ。
http://zhaoyan.org/index.php/ej/article/viewFile/112/87
6.1. Static Analysis
...
6.1.1. Lexical Analysis
Sample tools include “ It’s the Software Stupid!” (ITS4 [25]), FlawFinder [26], RATS [27], STOBO [28], and LibSafe [29] .
...
6.1.2. Semantic Analysis
Sample tools are Splint [30] and BOON [31].
...
コメントを書いているときに、検索で引っかかるのが Lexical Analysis と Static Analysis という書き方があって、何が違うんだろう、と思ったら、こういう位置づけなんですね。
2010年の記事ですが、ツールはコメントで挙げたのと、かなり重複しています。
技術的に、2005年くらいで成熟しちゃった、ということでしょうか。
それとも、バッファオーバーランを起こしようがない言語が、メジャーになって行ったからでしょうか。
とはいえ、その言語のコンパイラや VM は、C / C++ で記述しているのでしょうけれど。