由Stanford大學的Dawson Engler副教授等來研究開發,該自靜態分析工具允許用戶使用一種稱作metal的狀態機語言編寫自定義的時序規則,從而實現了靜態分析工具的可擴展性。MC的實際效果非常優秀,號稱在Linux內核中找出來數百個安全漏洞。MC目前已經商業化,屬於Coverity Inc.2014年被Synopsys收購。目前學術領域比較認可的靜態分析工具,其技術處於領先地位。
② findbugs,pmd,checkstyles三者都是代碼規范靜態檢查工具,它們之間有何異同
區別是: findbug與pclint都是針對軟體漏洞進行代碼檢測的工具軟體。findbug針對的是Java代碼,pclint針對的是C代碼或者C++。 Findbugs是一款Java靜態代碼分析工具,與其他靜態分析工具(如Checkstyle和PMD)不同,Findbugs 不注重樣式或者格式
③ fpga 代碼檢查工具有哪些
其實和ASIC的RTL代碼檢測用具一樣的,主要是lint的檢查
nlint, spyglass什麼的都可以做RTL的lint檢查
④ 有沒有C語言 代碼格式檢查工具
沒有這樣的工具。
C/C++語法過於靈活,格式上很多方式都是合法的,規范上同版一個地方也權不止一個規范。
在VC等工具環境下,Alt+F8可以自動調整縮進。
有輔助插件,比如Visual
Assistant
X等,可以在輸入代碼時協助格式化。
但你的想法沒有類似的工具,因為書寫格式是個人習慣問題,不是編譯要求。
⑤ PHP中有什麼好的代碼自動檢查工具嗎
你可以試試PHP的sublime_text.這個工具應該可以滿足你的要求.
個人感覺這個工具還是比較好的,特向你推薦.
⑥ 如何使用Code Review工具進行代碼審查
首先,我們先來看看Code Reivew的用處:
Code reviews 中,可以通過大家的建議增進代碼的質量。
Code reviews 是一個傳遞知識的手段,可以讓其它並不熟悉代碼的人知道作者的意圖和想法,從而可以在以後輕松維護代碼。
Code reviews 也鼓勵程序員們相互學習對方的長處和優點。
Code reviews 也可以被用來確認自己的設計和實現是一個清楚和簡單的。
你也許注意到了在上面的Code Reivew中的諸多用處中,我們沒有提到可以幫助找到程序的bug和保證代碼風格和編碼標准。這是因為我們認為:
Code reviews 不應該承擔發現代碼錯誤的職責。Code Review主要是審核代碼的質量,如可讀性,可維護性,以及程序的邏輯和對需求和設計的實現。代碼中的bug和錯誤應該由單元測試,功能測試,性能測試,回歸測試來保證的(其中主要是單元測試,因為那是最接近Bug,也是Bug沒有擴散的地方)
Code reviews 不應該成為保證代碼風格和編碼標準的手段。編碼風格和代碼規范都屬於死的東西,每個程序員在把自己的代碼提交團隊Review的時候,代碼就應該是符合規范的,這是默認值,屬於每個人自己的事情,不應該交由團隊來完成,否則只會浪費大家本來就不夠的時間。我個人認為「meeting」是奢侈的,因為那需要大家在同一時刻都擠出時間,所以應該用在最需要的地方。代碼規范比起程序的邏輯和對需求設計的實現來說,太不值得讓大家都來了。
10年前,上面這兩件事會是理所當然的(10年前的中國的軟體開發還沒有Code Reivew呢),今天,在中國的很多公司上面這兩件事依然被認為是Code Reivew最重要的事,所以,我能夠看到很多開發Team抱怨Code Review就是一個形式,費時費力不說,發現的問題還不如測試,而評審者們除了在代碼風格上有些見術,別的也就沒什麼用了,長而久之,大家都會開始厭煩這個事了。
所以,在今天,請不要把上面的那兩件事分散了Code Review的注意力,取而代之的是,對於Bug,程序的作者要在Review前提交自己的單元測試報告(如:XUnit的測試結果),對於代碼規范,這是程序作者自己需要保證的,而且,有一些工具是可以幫你來檢查代碼規范的。