2007/02/09

[Linux] flawfinder and splint

這裡有提到一個在 Linux 上面幫你檢查程式碼的工具。

嘿嘿,這個工具顯然對我這種肉腳有很大的幫助。

在軟件開發過程中,我們可以利用源碼檢查工具來找出常見的編程錯誤以及安全漏洞。這些工具用起來並不複雜,下面介紹splint和flawfinder這兩款源碼檢查工具的使用方法。

splint是一款靜態源代碼檢查工具,能對源代碼進行全面的分析。對於沒有註釋的源代碼,可以使用-weak選項:

splint -weak *.c -I./inc

其中,./inc是頭文件所在的子目錄。此外,Splint還支持標準檢查模式(選項-standard),若要進行中等強度檢查則使用選項-checks,若使用選項-strict則進行最嚴格的檢查。

flawfinder也是一款用來尋找源代碼錯誤的靜態分析工具。通過該工具提供錯誤消息,開發人員可以更快的找到錯誤所在。請看下面的例子:

$ flawfinder test.c
test.c:11: [2] (buffer) char:
Statically-sized arrays can be overflowed. Perform bounds
checking, use functions that limit length, or ensure that
the size is larger than the maximum possible length.
$

本例中,flawfinder給出了一個提示,指出靜態尺寸的數組可能被惡意利用的潛在危險。

沒有留言:

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...