国模大胆一区二区三区

<address id="jrzx9"><nobr id="jrzx9"></nobr></address>

    <sub id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></sub>

    <address id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></address>
        <sub id="jrzx9"></sub>
        <sub id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></sub><address id="jrzx9"><nobr id="jrzx9"></nobr></address>
        <address id="jrzx9"><var id="jrzx9"><ins id="jrzx9"></ins></var></address>
        <address id="jrzx9"><listing id="jrzx9"></listing></address><form id="jrzx9"><dfn id="jrzx9"></dfn></form>
        <span id="jrzx9"><dfn id="jrzx9"></dfn></span>
          <sub id="jrzx9"></sub>
        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>

        <address id="jrzx9"></address>

        <address id="jrzx9"><dfn id="jrzx9"><ins id="jrzx9"></ins></dfn></address>
        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>
        <address id="jrzx9"><dfn id="jrzx9"><ins id="jrzx9"></ins></dfn></address>

        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>

        使用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

        国模大胆一区二区三区 幻女BBWXXXX毛茸茸,中国幻女BBWXXXX,12一14幻女BBWXXXX在线播放| 动漫人物插曲30分钟免费看,男神插曲女生的完整视频4399,无码动漫性爽XO视频在线| 97久久精品人人槡人妻人人玩,97在线视频人妻无码,久久人人做人人妻人人玩精品