2009-05-19 55 views
6

任何人都知道可以替代Mathworks Polyspace的開源項目(或者可能只是免費用於商業項目)?Mathworks Polyspace的開源替代品?

我正在尋找用於代碼檢查的工具,並發現了一些用於靜態檢查的好選擇,但PolySpace似乎提供了更多的功能。我認爲那裏沒有真正的選擇,但也許你知道的更好。 :)

按照要求(不好意思,耽擱,RL趕上...)我加我的首選語言這個工具:

  1. 的Java
  2. .NET(我會沒事的用C#只)
  3. C/C++(不是必須具備的)
+0

如果您指定了需要該工具的語言,可能會有所幫助。 – 2009-05-24 14:05:49

+0

嗯,看起來好像在這個問題上沒有太多的輸入...% - ) – cringe 2009-06-18 07:15:13

回答

7

Polyspace只處理C,C++和Java,所以這是一個非常強大的替代方案,實際上您正在尋找 。在C#和Java中普遍使用的方法的動態查找並沒有使這些語言更容易分析。

對於C,看看http://frama-c.cea.fr/

+0

這看起來像一個非常好的工具。我將它安裝在一個Ubuntu虛擬機上以便與之一起玩。謝謝你的提示。 :) – cringe 2009-07-30 18:00:30

1

Polyspace是圍繞着一些非常複雜的程序分析技術。我不認爲你很快就會看到這個開源/免費版本。

0

我知道這是老問題,但也有大量的工具,所以如果你有興趣在靜態代碼分析這裏list of tools排序按語言。

如果僅看爲Java代碼的開源工具,我建議你FindBugs

3

對於C/C++有克利,這似乎非常接近polyspace http://klee.llvm.org

克利是一個工具,是一個研究項目的結果,它允許您執行C/C++程序的符號執行,方法是將其編譯爲LLVM字節碼並使用自定義解釋器執行它。這允許檢測運行時錯誤,例如緩衝區溢出,除零和超移,並且當它發現這樣的錯誤時,它會寫一個測試用例來重現它,並查看錯誤發生在哪個值上。最初是爲標準命令行實用程序編寫的,它也可用於通用程序,方法是使輸入符號(我正在嵌入式固件上進行測試)。希望這可以幫助!