SmartRocket Analyzer靜態(tài)分析工具一款代碼質(zhì)量靜態(tài)檢測工具,基于符號執(zhí)行、定理證明和編譯前端等技術(shù),對程序代碼自動掃描分析,檢查代碼的編寫規(guī)范、查找軟件運行時缺陷、錯誤和安全漏洞,并準確定位錯誤發(fā)生的代碼堆棧路徑,實現(xiàn)源代碼全方面“體檢”的工具。SmartRocket Analyzer從詞法、語法到語義全方位掃描代碼中的常見缺陷、安全漏規(guī)范標準符合及可讀性等問題。除了支持國際/國家/行業(yè)標準,還支持行業(yè)特色的缺陷分析、最佳實踐分析、可讀性分析及性能分析等規(guī)則集。
SQL注入、代碼安全、非法計算、線程鎖死、命令注入、堆棧溢出、危險函數(shù)
內(nèi)存泄露、變量未初始化使用、數(shù)組越界、空指針解引用、資源泄露、緩沖區(qū)溢出
圈復雜度、函數(shù)扇入、函數(shù)扇出、代碼注釋率、代碼行數(shù)、Halstesd度量集
抽象語法樹、到達定值分析、前/后支配分析、活躍變量分析、控制流分析、調(diào)用分析、變量binding分析、污點分析、符號執(zhí)行
檢查代碼是否符合編碼規(guī)范,有助于維持代碼風格的一致性;發(fā)現(xiàn)潛在的錯誤和漏洞,如語法錯誤、邏輯錯誤、內(nèi)存泄漏等
識別代碼中的安全漏洞,如SOL注入、跨站腳本攻擊(XSS)、緩沖區(qū)溢出等
在開發(fā)早期就能發(fā)現(xiàn)問題,避免問題在項目后期才被發(fā)現(xiàn),減少返工
確保軟件開發(fā)過程能夠按照既定標準、法規(guī)要求和最佳實踐來執(zhí)行的關鍵
通過持續(xù)的靜態(tài)分析,可以避免代碼“腐爛”,有助于新加入的開發(fā)者快速理解現(xiàn)有代碼的結(jié)構(gòu)和質(zhì)量
可以集成到持續(xù)集成(CI)流程中,確保每次代碼提交都不會降低項目質(zhì)量