Coverity功能介紹[技術(shù)學(xué)習(xí)]_第1頁
Coverity功能介紹[技術(shù)學(xué)習(xí)]_第2頁
Coverity功能介紹[技術(shù)學(xué)習(xí)]_第3頁
Coverity功能介紹[技術(shù)學(xué)習(xí)]_第4頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Coverity Prevent SQSPrevent SQS(軟件質(zhì)量系統(tǒng))是檢測和解決C、C+、Java源代碼中最嚴重的缺陷的領(lǐng)先的自動化方法。通過對您的構(gòu)建環(huán)境、源代碼和開發(fā)過程給出一個完整的分析,Prevent SQS建立了獲得高質(zhì)量軟件的標(biāo)準。靜態(tài)源代碼分析允許我們再軟件開發(fā)生命周期的早期階段發(fā)現(xiàn)和修復(fù)缺陷,節(jié)省數(shù)以百萬計的相關(guān)成本。Prevent SQS是業(yè)界標(biāo)準,因為只有Coverity理解和掌握靜態(tài)源代碼分析技術(shù)所具有的嚴格的要求。l Coverity了解構(gòu)建系統(tǒng)Prevent SQS通過在操作系統(tǒng)流程這個層次監(jiān)測您的構(gòu)建系統(tǒng)來獲得每一個操作的清晰視圖,展現(xiàn)您的軟件。l Cov

2、erity了解源代碼Prevent SQS檢測比當(dāng)今市場上任何其他工具都更多的源代碼信息;代碼的結(jié)構(gòu)、含義和意圖都被用來揭示其中的嚴重的錯誤和不安全性。l Coverity了解開發(fā)者Prevent SQS通過一個客戶化的工作流、功能強大的分析器和易于使用的工具,能夠使缺陷在幾分鐘內(nèi)被定位,解決缺陷。繪制軟件DNA圖譜(C/C+)l Prevent SQS構(gòu)建監(jiān)測軟件自動的檢測您的編譯系統(tǒng)執(zhí)行的每一個操作。l Prevent SQS可信編譯器收集您代碼中的語法、語義和依賴關(guān)系的細節(jié)信息。l 一個完整的編譯器描述庫保存了所有的通過可信編譯器收集的信息,所以分析引擎擁有關(guān)于源代碼的全面的信息。Pre

3、vent SQS通過集成一個位于您的構(gòu)建系統(tǒng)和操作系統(tǒng)之間的監(jiān)測層,記錄構(gòu)建系統(tǒng)和操作系統(tǒng)的交互,獲得對于您的構(gòu)建系統(tǒng)的一個清晰的了解。這個監(jiān)測層檢測所有的發(fā)起的可執(zhí)行程序,和所有打開和讀寫的文件。當(dāng)Prevent SQS從您的構(gòu)建系統(tǒng)檢測到對您的編譯器的調(diào)用,他執(zhí)行很多步驟來了解調(diào)用操作及其對編譯代碼的影響。Prevent SQS轉(zhuǎn)換所有的命令來確切的了解本地預(yù)處理器和編譯器將如何正確生成可執(zhí)行程序。構(gòu)建系統(tǒng)中的一個嵌入層記錄每個文件的特有的編譯,Prevent SQS提供一個工具使您能夠組合這些屬性到他們的描述庫和可執(zhí)行程序中。Prevent SQS編譯很多種類型的C和C+源代碼,包括各個

4、編譯器實現(xiàn)的主要的語言擴展和C、C+的各種方言。使用一個預(yù)處理器,Prevent SQS也能夠處理非標(biāo)準的構(gòu)造為語義等價構(gòu)造,標(biāo)準構(gòu)造是前端分析器能夠解釋和理解的。軟件DNA圖譜包含了足夠的構(gòu)建系統(tǒng)和源代碼信息,能夠從軟件DNA圖譜構(gòu)建一個執(zhí)行程序。他收集了編譯器用來生成可執(zhí)行代碼的所有的數(shù)據(jù),也是保存源代碼相關(guān)的所有數(shù)據(jù)的唯一的地方。您可以從保存在軟件DNA圖譜中的信息創(chuàng)建可執(zhí)行程序,但反之不可。您不能從任何可執(zhí)行程序中創(chuàng)建軟件DNA圖譜,因為構(gòu)建系統(tǒng)、編譯器和鏈接器在轉(zhuǎn)換源代碼到可執(zhí)行程序時都會丟失信息。只有Coverity對于您的構(gòu)建系統(tǒng)的理解允許您創(chuàng)建一個真實的軟件DNA圖譜,沒有其他

5、方法。檢測嚴重的缺陷(C/C+)l Prevent SQS源代碼分析引擎利用軟件DNA圖譜來分析您的代碼的各個方面。l Prevent SQS模塊化缺陷檢測平臺能夠使很多模塊(或檢查器)同時分析您的代碼,查找不同類別的缺陷。l Prevent SQS預(yù)配置的庫說明了作為您的產(chǎn)品的一部分的第三方庫的APIs和功能。在構(gòu)建了軟件DNA圖譜以后,Prevent SQS分析圖譜來構(gòu)建一個對于您的代碼的完整的分析。Prevent SQS應(yīng)用很多、獨特的分析引擎來分析所有執(zhí)行模式的代碼。分析引擎提供給缺陷檢測檢查器最精確的源代碼描述,來查找缺陷。在分析引擎上構(gòu)建了一系列的模塊來檢測三類主要的缺陷:導(dǎo)致系統(tǒng)

6、崩潰的缺陷(內(nèi)存錯誤、邏輯錯誤、指針錯誤等);安全性問題;和并發(fā)缺陷。這種模塊化的分析架構(gòu)允許Coverity持續(xù)的開發(fā)用于其他類別錯誤的模塊。Coverity如何檢查嚴重的軟件缺陷Prevent SQS分析引擎使得缺陷檢測檢查器擁有源代碼最精確的描述。Prevent SQS針對C/C+的分析引擎引擎功能路徑流程引擎通過構(gòu)建一個表示經(jīng)過每一個函數(shù)的所有的路徑的圖表分析您代碼中的每個函數(shù)的控制流數(shù)據(jù)追蹤引擎用于分析從程序中每個路徑中的聲明收集的所有的整型和布爾型等數(shù)據(jù)統(tǒng)計引擎用于分析您的代碼作為一個整體的行為特征過程間調(diào)用總結(jié)引擎一個主要的創(chuàng)新,使得Prevent SQS可以執(zhí)行整個程序的分析,

7、分析文件間和模塊間的任何層次的復(fù)雜的調(diào)用鏈類型流程引擎用于提高C+分析中依賴于類層次關(guān)系的報告的結(jié)果的精度虛假路徑引擎用于分析每個分支條件,以確定在當(dāng)前路徑它將是真、假或不確定加速引擎保存橫越每個路徑時的每個缺陷分析所收集的信息;消除冗余路徑,不需要橫越任何不必要的路徑來找到最多的缺陷數(shù)據(jù)傳播引擎把過程間調(diào)用總結(jié)引擎產(chǎn)生的所有總結(jié)和數(shù)據(jù)追蹤引擎記錄的所有數(shù)據(jù)匯總起來,是Coverity特有的、上下文敏感的過程間分析能力的關(guān)鍵增量分析引擎通過緩存分析數(shù)據(jù)來提高性能,以便后續(xù)的分析僅需要包含變化的數(shù)據(jù)解決缺陷(C/C+)l Prevent SQS內(nèi)嵌的自動分發(fā)功能把缺陷結(jié)果發(fā)給能夠修復(fù)缺陷的開發(fā)人

8、員和團隊。l 可處理的缺陷報告在幾分鐘內(nèi)提供一個直觀的界面和說明,而不是幾小時或幾天。l 缺陷工作流管理器幫助開發(fā)團隊創(chuàng)建客戶化的檢測、分析、解決Prevent SQS報告的缺陷的流程。找到缺陷是美妙的,修復(fù)缺陷會更好。Coverity了解如何將源代碼分析適應(yīng)您的開發(fā)流程,Prevent SQS提供您將缺陷列表轉(zhuǎn)變?yōu)樾迯?fù)列表的所有的工具。Prevent SQS缺陷導(dǎo)航工具提供一個直觀的分析、診斷、解決您的代碼中發(fā)現(xiàn)的問題的界面。l 每個缺陷的完整的路徑在源代碼中被清晰的顯示,這樣開發(fā)人員能夠快速追蹤錯誤的根源。l 缺陷的關(guān)鍵屬性直接嵌入在源代碼中,這樣開發(fā)人員能夠理解分析引擎用于檢測錯誤的邏輯

9、。在缺陷導(dǎo)航工具中,源代碼以一個完全的交叉引用的形式顯示,超鏈接界面使用戶能夠從引用點擊到定義,也可以從定義到所有引用的列表。這幫助開發(fā)人員更快的鑒別復(fù)雜的交叉調(diào)用的缺陷。Prevent SQS工作流管理器提供一個客戶化的工作流階段和步驟,允許用戶對報告的缺陷構(gòu)建缺陷修復(fù)流程。工作流管理器允許您輕松的劃分您的代碼為邏輯組,分配每個組的所有者。當(dāng)報告缺陷,他將自動分配給組件的所有者,自動發(fā)送郵件通知??蛻艋ぷ髁麟A段允許您設(shè)置一系列“動作”,確定一個缺陷由檢測到解決的步驟。分析引擎允許您以各種階段粒度報告您的進度。幾種預(yù)制的報告幫助您基于組件、所有者、或者缺陷類型劃分結(jié)果,更好地分析您的代碼中發(fā)

10、生了什么缺陷,在哪里產(chǎn)生。在報告中,缺陷趨勢幫助您分析缺陷引入和修復(fù)的比例。分析比較能夠幫助您分析每次執(zhí)行您的代碼中引入了什么缺陷,什么缺陷消失了,以及什么缺陷仍然存在。能夠發(fā)現(xiàn)的C/C+缺陷并發(fā)l 死鎖l 錯誤使用的阻塞調(diào)用性能下降l 內(nèi)存泄漏l 文件句柄泄漏l 定制的內(nèi)存和網(wǎng)絡(luò)資源泄漏l 數(shù)據(jù)庫連接泄漏導(dǎo)致崩潰的缺陷l 空指針引用l 釋放后引用l 多次釋放l 不正確的內(nèi)存分配l 不匹配的數(shù)組新建/刪除不正確的程序行為l 邏輯錯誤導(dǎo)致的死代碼l 未初始化變量l 負數(shù)的無效引用不正確的APIs使用l STL使用錯誤l API錯誤處理C/C+安全性問題安全編碼缺陷l 緩沖區(qū)溢出l 整形溢出l 缺

11、失的/不充分的惡意數(shù)據(jù)和字符串輸入的驗證l 格式化字符串的不安全l SQL注入攻擊l 交叉站點腳本攻擊隱含的缺陷l 整個系統(tǒng)折衷l 服務(wù)拒絕攻擊l 優(yōu)先權(quán)擴張l 保密數(shù)據(jù)泄漏l 數(shù)據(jù)丟失l 仲裁代碼執(zhí)行特點和優(yōu)勢Coverity產(chǎn)品專長于最準確的找到最嚴重和最難檢測的缺陷。我們很多的競爭對手專注于簡單的標(biāo)識盡可能多的可能的缺陷。但在Coverity,我們認為找到嚴重的缺陷和安全性問題比數(shù)字游戲更重要。重要的不是你找到了多少缺陷,而是那些缺陷的類型。以下特點使得Coverity Prevent SQS特別:精確性Coverity Prevent SQS的特別之處在于平均小于20%的誤報率。當(dāng)許多

12、其他的源代碼分析產(chǎn)品以很高的誤報率使得其不可用時,Coverity的虛假路徑裁剪、統(tǒng)計分析和其它創(chuàng)新減少了誤報的產(chǎn)生。附加的配置和微調(diào)能夠進一步減少誤報率。分析的深度Coverity Prevent SQS提供過程間數(shù)據(jù)流分析和統(tǒng)計分析,評審整個程序的交互和所有的可能的路徑。Coverity Prevent SQS檢查企業(yè)特定的APIs和標(biāo)志使用中的不一致性,精確的檢測QA、安全評審和現(xiàn)場會發(fā)生的缺陷。當(dāng)許多競爭工具僅提供表面的分析時,Coverity Prevent SQS全面的分析您的代碼。分析的廣度Coverity Prevent SQS采用查找最嚴重的錯誤的最先進的技術(shù),提高您的產(chǎn)品的

13、質(zhì)量和安全性。Coverity Prevent SQS可以檢測嚴重的問題,例如系統(tǒng)崩潰、內(nèi)存泄漏、內(nèi)存錯誤、不確定行為、并發(fā)缺陷和安全性問題。低擁有成本Coverity Prevent SQS無縫的與您已有的環(huán)境集成,能夠快速部署和配置??蓴U展Coverity Prevent SQS使您能夠在我們的強大的分析引擎上創(chuàng)建定制的檢查器,來滿足您的開發(fā)組織和代碼的特定需求。您可以設(shè)置定制的規(guī)則,來強化編碼標(biāo)準或者檢測代碼中的錯誤。強大的可配置性Coverity Prevent SQS能夠快速的分析您的代碼,通常百萬行的代碼僅需要幾個小時,其他的工具需要幾天,甚至幾個星期來分析大規(guī)模代碼。Coveri

14、ty extendCoverity Extend使得企業(yè)能夠針對特定的缺陷,在開發(fā)過程中強化業(yè)界兼容的標(biāo)準和需求。Coverity Extend是您能夠快速、方便的創(chuàng)建客戶化的檢查器,查找您的業(yè)務(wù)或領(lǐng)域特定的編碼規(guī)則的違背。通過Coverity Extend,您能夠針對您最關(guān)心的問題,所以您能夠構(gòu)建更好的產(chǎn)品,減少上市時間,和降低風(fēng)險。Coverity Extend提供以下功能,以及Coverity Prevent SQS包含的功能強大的質(zhì)量、安全和并發(fā)問題檢查器:l 消除在代碼的所有路徑中的嚴重的特定產(chǎn)品的缺陷l 方便的開發(fā)面向內(nèi)部編碼策略和工業(yè)標(biāo)準的兼容產(chǎn)品包l 建立客戶化的代碼評審流程,

15、和自動化部分的人工代碼評審工作Structure 101分析、定義和控制軟件架構(gòu)Structure 101自動的可視化復(fù)雜的C/C+和Java代碼的架構(gòu)結(jié)構(gòu)和依賴關(guān)系。使得Coverity的軟件DNA圖譜可以獲得一個您的軟件的完整的分析,Structure 101提供給架構(gòu)師和開發(fā)人員所必需的功能,包括:l 多視圖顯示系統(tǒng)架構(gòu),包括依賴關(guān)系圖,依賴結(jié)構(gòu)矩陣(DSM)圖,和層次原理圖,每個圖都提供了您的軟件結(jié)構(gòu)的特有視角l 復(fù)雜性度量,顯示具有過度復(fù)雜性(XS)的代碼,包括循環(huán)依賴和過度的圈復(fù)雜度。Structure 101提供無可比擬的架構(gòu)分析能力,包括:l 自動的可視化已有的繼承架構(gòu),所有的

16、依賴關(guān)系清晰的顯示,快速提供架構(gòu)師和開發(fā)人員一個代碼結(jié)構(gòu)的分析。l 架構(gòu)修改可以通過版本間和基線間的結(jié)構(gòu)比較準確的分析,架構(gòu)和依賴關(guān)系的改變被高亮顯示。l 影響分析能夠在作出修改之前執(zhí)行,允許設(shè)計者分析可能的重新設(shè)計的影響。l 設(shè)計規(guī)則強化自動的檢測和標(biāo)識規(guī)則的違背,確保將來架構(gòu)的一致性和預(yù)防復(fù)雜性。 Visualize Design Tangles Understand Design Violationswith Dependency Graphs with Layered Schematics Highlight Excess Complexity Highly Scalable(XS,

17、Fat, Tangle) Dependency Structure Matrix (DSM)支持的平臺Coverity Prevernt SQS可以支持廣泛的平臺和編譯器。C/C+源代碼分析器支持的平臺l Apple Mac OS X 10.4 l Cygwin l FreeBSD l HPUX l Linux l Mac OS X l NetBSD (2.0) l Solaris Sparc l Solaris X86 l Windows 支持的C/C+編譯器l ARM ADS/RVCT l Freescale Codewarrior l GNU C/C+ l Green Hills l H

18、P aCC l Hi-Tech PICC l IAR l Intel C/C+ l Marvell MSA l Microsoft Visual C+ l QNX l Renesas l Sun C/C+ l TI Code Composer l Wind River l 支持任何其他的ANSI C兼容的編譯器Coverity不需要任何手工工作或針對您的構(gòu)建文件的修改就可以與您的構(gòu)建系統(tǒng)集成。系統(tǒng)需求(C/C+) 2.0Ghz x86或UltraSparc 3/3i處理器或同等速度的處理器 1 GB內(nèi)存 500 MB空閑磁盤空間用于安裝,3倍于代碼大小的空間用于產(chǎn)品運行Java源代碼分析器支持的平臺l Linux l Solaris Sparc l Solaris X86 l Windows 支持的Java編譯器l Java JDK (1.4 and higher) 系統(tǒng)需求(Java)l JDK 1.4或更高版本l 1 GHz C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論