Helix QAC 2022.4新版本發(fā)布

創提信息
2023/02/13

分享到

Helix QAC 2022.4新增了哪些功能(néng)


Helix QAC 2022.4提供了對(duì)MISRA C:2012 AMD3的規則100%的覆蓋,將(jiāng)數據流分離到了一個改進(jìn)了分析性能(néng)的新組件中,并升級了對(duì)C++20和C23的語言支持。
 
此外,Helix QAC 2022.4還(hái)提供對(duì)TS 17961 C Secure合規模塊的日文支持,改進(jìn)了編譯器支持,普遍提高了各種(zhǒng)Helix QAC組件的質量。


數據流組件
 
在Helix QAC 2022.4這(zhè)個版本中,數據流已經(jīng)從QAC/QAC++引擎分離出來,形成(chéng)了數據流組件。此次更新包括:
 
    • 改進(jìn)了大型項目的數據流分析性能(néng)。
 
    • ‘Inter-TU analysis’内嵌于數據流分析中,不再需要分析兩(liǎng)次。
 
    • 頭文件中定義的函數在每個項目中隻分析一次。
 
    • 數據流診斷報告僅針對(duì)“dataflow”組件,而不是“qac”或“qacpp”。
 
    • 數據流是分析工具鏈中的一個獨立組件,具有單獨的配置選項。


編碼标準覆蓋範圍(MISRA C:2012 AMD3, TS 17961 C Secure)
 
新的MISRA C:2012 Amendment 3 C合規模塊,100%地覆蓋:
 
    • 執行汽車工業軟件可靠性協會(huì)(Motor Industry Software Reliability Association, 簡稱MISRA)針對(duì)C編程語言的軟件開(kāi)發(fā)準則。這(zhè)些準則旨在促進(jìn)嵌入式系統環境下代碼的安全性、可移植性和可靠性。
 
    • 關于C11/C18新特性的附加規則。
 
TS 17961 C Secure
 
TS 17961 C Secure合規模塊(SECCCM)現在有完整的日文翻譯。


支持C++20語言
 
Helix QAC 2022.4改進(jìn)了與C++ 20語言特性使用的兼容性,包括在C++ 20模式下處理GCC頭文件。


支持C23語言
 
Helix QAC 2022.4增加了對(duì)C23語言特性的支持:
 
    • 放寬對(duì)可變參數列表的要求,論文N2975。


改進(jìn)構建過(guò)程監測
 
Helix QAC 2022.4使用'qainject'對(duì)CCT的自動生成(chéng)進(jìn)行了改進(jìn),這(zhè)簡化了構建理解和編譯器設置,并且在手冊中提供了額外的指導,用于創建自定義過(guò)濾器,以使用基于支持的編譯器的新編譯器,例如,基于GNU的編譯器。


提高質量
 
命令行界面(miàn)(CLI)
 
    • 增加了從基線開(kāi)始查看診斷信息的功能(néng)(qacli view)。
 
    • 根據抑制類型篩選診斷信息(qacli view --suppression-filter type)。
 
    • 以NONE, MULTIPLE, SINGLE等多種(zhǒng)格式輸出CMA診斷結果(qacli view --multi-homed-format)。
 
    • 允許用戶升級現有的項目,使其與分離的數據流組件相兼容(qacli admin --upgrade)。
 
圖形用戶界面(miàn)(GUI)
 
    • 支持數據流組件
 
儀表盤
 
    • 支持數據流組件
 
Microsoft Visual Studio 2022 IDE插件
 
    • 支持多個Helix QAC安裝VS 2022擴展插件。


Helix QAC 2022.4的重要更新


提前通知
 
CCT生成(chéng)器將(jiāng)于2023年結束生命周期
 
Helix QAC 2023.1將(jiāng)不再支持傳統的獨立CCT生成(chéng)器。
 
在Helix QAC 2021.3中引入的'qainject'工具將(jiāng)取代當前的CCT 生成(chéng)器。因此,使用該遺留工具生成(chéng)的CCT將(jiāng)被(bèi)棄用,不再受支持。
 
删除QAC包中不受支持的靜态CCT
 
随著(zhe)使用'qainject'自動生成(chéng)的CCT對(duì)各種(zhǒng)編譯器的構建監測得到改進(jìn),之前包含在Helix QAC包中的大多數靜态CCT將(jiāng)于2023年1月被(bèi)删除。與使用靜态缺省的CCT相比,自動生成(chéng)的CCT有望提供更準确的分析結果。我們的目的是删除除了用于GNU gcc、Visual Studio和通用編譯器之外的所有CCT。