欧美激情国产精品视频一区二区,欧美人做人爱免费视频完整版,欧美变态深喉囗交XXXX

    <span id="wpjll"><output id="wpjll"></output></span>
  1. <optgroup id="wpjll"><i id="wpjll"><dfn id="wpjll"></dfn></i></optgroup>
    <acronym id="wpjll"></acronym>

    <sub id="wpjll"></sub>

    使用Helix QAC對OpenHarmony代碼做靜態分析

    創提信息
    2021/12/06

    分享到

    Helix QAC是一款權威的C/C++代碼合規性靜態分析工具,適用于對代碼的規范性和可靠性有較高要求的軟件系統。針對任何C/C++代碼都可以使用Helix QAC來做靜態分析,找出代碼中不符合編碼規范的語法問題,提高軟件整體編碼質量,優化編碼開發習慣。本文對面向全場景、全連接、全智能時代的Harmony OS的開源項目OpenHarmony代碼進行靜態分析。

     
    測試環境介紹


    整個測試環境搭建在VMware Workstation虛擬機上,虛擬機分配4核心,4GB內存,安裝Ubuntu Server 20.10操作系統,使用最新的Helix QAC 2021.2 for Linux,使用MobaXterm終端軟件,SSH連接到虛擬機,圖形界面通過SSH轉發到MobaXterm自帶的X Server,顯示出圖形化界面。OpenHarmony代碼使用的是gitee上最新的master分支代碼(截至2021年9月),使用內置示例工程wifi-iot項目,對wifi-iot項目做靜態分析。


    開發環境的配置
     
    安裝好Ubuntu server系統和Helix QAC2021.2靜態測試工具之后,就可以開始開發環境的配置。按照官方文檔教程,通過apt安裝必要的庫和工具,使用官方文檔推薦的“通過repo+https”方式下載源代碼到虛擬機中。下載完成后,在shell里面輸入hb set命令,設置當前的代碼的根目錄,以及要編譯的項目,在這里選擇代碼中內置的wifiiot_hispark_pegasus項目。
     

    使用Helix QAC對OpenHarmony代碼做靜態分析-1.jpg


    選擇完成后,開發相關的環境配置完成,接下來嘗試編譯源代碼,輸入hb build命令,就可以開始構建編譯源代碼了。


    使用Helix QAC對OpenHarmony代碼做靜態分析-2.jpg

     
    這一步的目的是確保源代碼能夠正確編譯,沒有任何編譯錯誤,也就代表代碼的開發環境配置完成。

     
    測試環境的配置
     
    使用Helix QAC對代碼進行靜態分析時,必要的前置條件就是確保代碼可以完全編譯成功,沒有任何編譯錯誤,只有這樣才能保證靜態分析的結果是可信的。在上一步已經驗證代碼是可以完全正確編譯的,接下來就可以打開Helix QAC,創建一個靜態分析項目,對代碼進行靜態分析。輸入./qagui,就可以打開Helix QAC的圖形化界面。


    使用Helix QAC對OpenHarmony代碼做靜態分析-3.jpg

     
    整個靜態分析的過程均可以在圖形化界面中完成,同時也提供了命令行的操作方式,便于和CI系統集成,在整個項目開發周期內,持續不斷確保高標準代碼質量。

     
    創建一個靜態分析的項目
     
    到菜單Project->Create New Project,打開測試環境創建向導。


    使用Helix QAC對OpenHarmony代碼做靜態分析-4.jpg


    打開之后,根據實際需要設置項目的目錄和項目名稱。


    使用Helix QAC對OpenHarmony代碼做靜態分析-5.jpg

     
    根據實際使用的編譯器,選擇編譯器對應的CCT,在這里,OpenHarmony中的wifi-iot項目是由riscv32-unknow-elf-gcc編譯器編譯的,在這里選擇riscv32-unknow-elf-gcc編譯器對應的CCT。


    使用Helix QAC對OpenHarmony代碼做靜態分析-6.jpg

     
    導入項目代碼
     
    項目創建完成,就可以導入代碼,對代碼做靜態分析。在這里可以通過同步的方式,導入代碼。
     
    菜單Project->Synchronize,打開同步配置窗口,輸入項目代碼根目錄,再輸入編譯命令,就可以導入源代碼。同步需要對項目做rebuild,所以要事先清除,編譯命令輸入hb clean && hb build,點擊Synchronize,會自動調用編譯命令對代碼完整編譯,同時監控編譯過程,把所有編譯到的文件都導入到Helix QAC靜態分析項目中。


    使用Helix QAC對OpenHarmony代碼做靜態分析-7.jpg

     
    同步完成后,可以看到被添加進Helix QAC靜態分析項目的源文件。


    使用Helix QAC對OpenHarmony代碼做靜態分析-8.jpg

     
    靜態分析代碼以及分析結果
     
    點擊分析按鈕,就可以對項目中所有的代碼進行靜態分析,在這里使用MISRA C 2012 規則,對代碼的編碼規范做檢查。分析完成可以看到結果以及分析之后的數量。
     

    使用Helix QAC對OpenHarmony代碼做靜態分析-9.jpg


    針對當前代碼版本的OpenHarmony代碼,經過Helix QAC的靜態分析,使用MISRA C 2012編碼規范,總共發現了違反MISRA C 2012 規則的數量是63222,其中違反MISRA C 2012 Mandatory的數量是356,違反MISRA C 2012 Requird數量是39481。違反MISRA C 2012 Advisory的數量是27538。違反Mandatory分類和required分類的代碼需要做出更正,違反Advisory分類的代碼,可以根據需要做出修正。Helix QAC還可以自動生成報告,這里對于當前的分析結果生成一份代碼審查報告(Code Review Report,CRR)。


    使用Helix QAC對OpenHarmony代碼做靜態分析-10.jpg

     
    以下是報告截圖(部分)


    使用Helix QAC對OpenHarmony代碼做靜態分析-11.jpg

    欧美激情国产精品视频一区二区,欧美人做人爱免费视频完整版,欧美变态深喉囗交XXXX