• <th id="g1iou"></th>
    <li id="g1iou"></li>

  • <dd id="g1iou"></dd>
      <dd id="g1iou"><center id="g1iou"></center></dd>

        <progress id="g1iou"><big id="g1iou"></big></progress>

      1. <span id="g1iou"></span>

        裝備電子系統的研發、測試、保障解決方案中心

        軟件缺陷靜態分析CodeSonar
        產品中心 軟件缺陷靜態分析CodeSonar
        產品概述

              CodeSonar是軟件靜態缺陷檢查和安全性分析工具,幫助團隊快速分析和驗證代碼,識別導致系統故障、可靠性差、系統漏洞或不安全條件的嚴重漏洞或錯誤。

              通過在并發性分析、污染數據流分析和全面檢測等技術上的創新,CodeSonar比其他同類型工具發現更為重要的缺陷。


        功能特性

        ● 最深層次的靜態分析

           1.采用先進的算法

               CodeSonar執行統一的數據流和符號分析,檢查整個程序的運算。該方法不依賴于模式匹配或類似的近似。CodeSonar通過更為深入的分析自然而然地發現新的或不尋常的缺陷。

        圖片1.png

        查看缺陷的每條路徑追蹤

           2.分析數百萬行代碼
               CodeSonar可以執行千萬行代碼的全程序分析。一旦完成了最初的基線分析,CodeSonar的增量分析能力快速分析代碼庫的每日變化。分析能并發運行,充分利用多核環境的優勢。
            3.支持編程標準
             CodeSonar支持編程和安全標準,如MISRA C:2012、IS0-26262、DO-178B、US-CERT以及CWE。
        ● 提高工作效率
            1.團隊協作
              自動化特性使大型團隊的協調合作成為可能。例如,很容易在不同的項目版本或開發團隊之間管理警告。提供Python API支持定制和與其他工具的集成。
            2.軟件架構的可視化
              可視化代碼很容易揭示和理解代碼之間的關系。Visual Taint Analysis允許用戶快速發現具有潛在危險信息流的來源。

        圖片2.png

         可視化軟件架構理解代碼

            3.查看質量趨勢

            圖表顯示數據,幫助用戶管理開發和測試的工作。

        圖片3.png

         通過比較分析查看質量的趨勢,發現引入的缺陷類型

            4.降低開發成本

            在整個開發周期中識別和消除缺陷,幫助用戶及時發布,降低商業風險和責任。

        ●定制分析
          1.自定義檢查
            提供C API,易于創建新的檢查。很多內置的檢查也可以根據本地需求進行配置。
          2.自定義度量
            CodeSonar本身可以計算N種不同的代碼度量,也可以使用API來定義自己的度量。
        ●檢查項示例
          1.安全漏洞
             ■緩沖區溢出
             ■未初始化變量
             ■釋放非堆變量
             ■釋放后再使用
             ■雙重釋放/關閉
             ■格式化字符串漏洞
             ■返回局部變量指針
          2.可靠性問題
             ■數據競爭
             ■死鎖
             ■空指針間接引用
             ■雙重關閉
             ■被零除
             ■危險函數轉換
             ■資源泄漏
        ●技術亮點
             ■符號執行引擎
             ■可擴展
             ■增量分析能力
             ■基于瀏覽器的用戶界面
             ■管理報告
             ■可擴展的分析引擎
             ■與其它工具集成
             ■易于安裝無需更改構建環境
        系統需求
        ●支持的語言
             ■C
             ■ C++
             ■Java
             ■C#

        ●支持的平臺
             ■Windows
             ■Linux
             ■Solaris
        ●機器配置
             ■2 GHz CPU
             ■2 GB of RAM(注)
             ■15+ GB硬盤空間
        ●支持的編譯器
             ■Apple xcode
             ■ARM RealView
             ■CodeWarrior
             ■GCC
             ■G++
             ■Green Hills
             ■HI-TECH
             ■IAR
             ■Intel C/C++
             ■MS Visual Studio
             ■Renesas
             ■Sun C/C++
             ■Texas Instruments CodeComposer
             ■Wind River
             ■大多數其它編譯器也很容易支持

        輸出格式
             ■HTML
             ■XML
             ■Text(純文本和CSV)
            注:這是串行模式的需求,并行模式要求512MB加上每個進程512MB(一個核)。


             CodeSonar關注的是那些“真正能夠引發問題”的軟件缺陷,因此被廣泛使用在安全關鍵和任務關鍵的系統,比如汽車電子、航空航天。由于算法的科學性和先進性,往往能檢測到其它靜態工具可能遺漏的問題所在。例如,對某開源代碼的檢測,如下隱藏在特定路徑里的“條件表達式永遠為TRUE”的案例,CodeSonar給出了較其它靜態分析工具更為準確的表現:



        圖4.png



          

        觀察102行,t1v_type == -1如果為真,頂層的while循環將退出;在switch語句中,164行,t1v_type == -1則不可能為真。CodeSonar指出這里是一個“copy-paste錯誤”,此檢查比較“智能”,它認為此處的t1v_type應該是中間復制變量sub_t1v_type,這兩個變量在錯誤的路徑中都已高亮顯示。



        国产原创51蜜桃果冻在线