Code Analyzer是一款由上海澤眾軟件自主研發(fā)的專業(yè)代碼質(zhì)量管理審查軟件,用于實現(xiàn)靜態(tài)分析、代碼走查、代碼規(guī)范檢查以及代碼潛在錯誤分析的白盒測試工具,它是一種脫離編譯器的代碼靜態(tài)分析軟件產(chǎn)品。Code Analyzer還支持Java Swing的模式系統(tǒng)跨平臺運行,支持C、C++、Java等多種編程語言掃描。
軟件特色
1、支持多系統(tǒng)、多語言、多規(guī)則:
a、它基于java開發(fā),Java Swing的模式支持系統(tǒng)跨平臺運行;支持C、C++、Java等多種編程語言掃描
b、支持windows平臺、linux平臺、命令行環(huán)境、IDE環(huán)境。規(guī)則包含國軍標5369,MISRAC:2004,國軍標5369(C++),Java sun 編程規(guī)范,Java sun 安全規(guī)則等
2、無需測試用例的測試:
CA是根據(jù)預(yù)定的規(guī)則對代碼進行掃描分析,檢查代碼是否符合編碼規(guī)范和各種規(guī)則,查找可能的錯誤,無需編寫測試用例就可以實現(xiàn)自動化測試,節(jié)省大量的人力
3、基于編譯的代碼分析:
靜態(tài)分析工具基于編譯和基于模式的兩種方法。CA基于編譯的方法,是對整個代碼進行掃描分析,相對于基于模式的方法,掃描某個段落的上下文,來判斷是否違反了規(guī)則,能獲得更精準和完備的分析,便于用戶自定義規(guī)則的實現(xiàn)
4、集成與擴展性:
a、本工具是基于用戶的軟件生命周期環(huán)境來設(shè)計的,通過提供開放的接口,支持與測試管理軟件、項目管理軟件等集成
b、提供了圖形用戶界面(GUI)、命令行、外部接口(DLL)等多樣化的用戶接口,用戶可以根據(jù)自己的需求,通過圖形界面將源代碼逐個導(dǎo)入到CA里進行分析,也可以通過SHELL或者批處理命令BAT來調(diào)用命令行
c、通過對外接口API,CA支持根據(jù)代碼符合規(guī)范的程度對程序員編寫的代碼評分,還可以輕松實現(xiàn)CA和配置管理工具SVN的集成
5、代碼級測試覆蓋:
a、CA支持對源代碼進行解析,得到代碼的控制流程圖,通過對流程圖進行代碼走查,實現(xiàn)代碼級的測試覆蓋,輕松實現(xiàn)XUnit單元測試模塊的構(gòu)建
b、CA還可以通過時間設(shè)定,只檢驗更新的代碼,提高效率
6、多樣化分析報告:
a、CA支持控制報告的輸出形式,將分析結(jié)果返回到日志文件或者將分析結(jié)果返回數(shù)據(jù)庫表中,為客戶提供進一步處理的資料。
b、包括缺陷統(tǒng)計信息、安全漏洞統(tǒng)計信息、軟件架構(gòu)分析、類關(guān)系分析、函數(shù)調(diào)用關(guān)系分析、腳本關(guān)系分析、度量分析等。
功能特點
1、支持規(guī)則列表
詞法規(guī)則:CA支持英語的單詞表,變量命名的定義來自于詞表檢查。
語法規(guī)則:CA通過標準化的語法模板來處理語義規(guī)則。
語義規(guī)則:CA通過調(diào)用標準化的處理程序來分析定義的規(guī)則。
支持用戶開發(fā)自己的規(guī)則包,然后通過配置文件以插件的形式配置到CA中。
2、發(fā)現(xiàn)不符合編碼規(guī)范的代碼
CA在掃描源代碼時對安全規(guī)范子集中定義的規(guī)則進行逐條檢查,用戶可以通過自己的需求選定規(guī)則,并制定問題的嚴重程度,如果發(fā)現(xiàn)有不符合項則報告在問題列表中,用戶可通過行號、列號精確定位問題,除此之外CA還為用戶提供修改建議。
3、自動監(jiān)控版本服務(wù)器,觸發(fā)代碼掃描及檢測分析
CA可以通過以下方式來實現(xiàn)修改配置管理的提交腳本,潛入掃描觸發(fā)程序。當用戶check in程序的時候,腳本觸發(fā)了CA,來進行代碼掃描,并且提交掃描結(jié)果。
4、支持SMTP郵件服務(wù)功能
CA支持SMTP的接口,可以根據(jù)需要向指定的SMTP發(fā)送請求,提交發(fā)送的郵件。CA需要配置固定的用戶名、密碼,作為郵件發(fā)件人。
5、支持云服務(wù)實現(xiàn),支持跨internet實現(xiàn)源代碼安全掃描“云服務(wù)”
CA可支持私有云服務(wù)的版本:通過本地化來掃描程序,生成xml,上傳到云服務(wù),再進行掃描處理,在云端保存掃描結(jié)果,并且提供瀏覽器訪問服務(wù)。
6、支持主流IDE環(huán)境,開發(fā)人員桌面上即可進行掃描
CA支持通過命令行方式嵌入IDE的方式,可以通過配置IDE環(huán)境來調(diào)用命令行工作;也支持通過提供客戶端的方式來工作,用戶可以通過操作客戶端來掃描制定的代碼,甚至整個項目。
7、支持和測試管理工具
CA支持與現(xiàn)有的測試管理平臺和項目管理系統(tǒng)集成,實現(xiàn)單點登錄和單一用戶ID登錄,來實現(xiàn)跨項目和項目群的管理和設(shè)置;支持組織級的用戶、角色以及權(quán)限設(shè)置。支持把掃描發(fā)現(xiàn)的問題歸到缺陷管理系統(tǒng),通過調(diào)用各個不同的缺陷管理系統(tǒng)的API實現(xiàn)集成;支持把掃描分析結(jié)果輸出到測試管理平臺,測試管理平臺本身提供自定義的報表和分析,支持PDF、word、excel多種格式的檢測報告,實現(xiàn)缺陷分析查看
8、度量分析
包括從McCabe 復(fù)雜度、Halstead 程序度量、代碼行數(shù)、繼承數(shù)、循環(huán)數(shù)等各種基本度量。客戶還可以根據(jù)自己的質(zhì)量目標,任意組合這些基本度量進行運算生成復(fù)合度量。