發布 cppcheck 2.7,C++ 和 C 語言的靜態程式碼分析器

靜態程式碼分析器 cppcheck 2.7 的新版本已發布,它允許您識別 C 和 C++ 語言程式碼中的各種類型的錯誤,包括使用非標準語法(嵌入式系統典型的語法)時的錯誤。 提供了一系列插件,透過它們可以將cppcheck與各種開發、持續集成和測試系統集成,並提供檢查程式碼是否符合程式碼風格等功能。 要解析程式碼,您可以使用自己的解析器或 Clang 的外部解析器。 它還包括 donate-cpu.py 腳本,以提供本地資源來對 Debian 軟體包進行協作程式碼審查工作。 該專案的原始程式碼根據 GPLv3 許可證分發。

cppcheck 的開發重點是識別與未定義行為相關的問題以及從安全角度來看危險的設計的使用。 目標還在於最大限度地減少誤報。 已識別的問題包括:指向不存在物件的指標、除以零、整數溢位、不正確的位移操作、不正確的轉換、使用記憶體時出現的問題、STL 不正確的使用、空指標取消引用、實際訪問後使用檢查到緩衝區、緩衝區溢位、使用未初始化的變數。

同時,瑞典公司 Cppcheck Solutions AB 正在開發 Cppcheck Premium 的擴展版本,它提供無限循環存在的分析、改進的對未初始化變數的搜尋以及高級緩衝區溢位分析。

在新版本中:

  • 新增了對容器視圖的支援 - view 屬性已新增至庫標記中,表示該類別是視圖。 生命週期分析程式碼已更新為在搜尋懸空容器時使用此屬性;
  • 改進檢查;
  • 累積的錯誤已修正,分析儀的缺陷已被消除。

來源: opennet.ru

添加評論