Parasoft C/C++ test 自動化用戶指南(十三):內置測試配置
Parasoft C/C++test針對C/C++開發(fā)的專業(yè)白盒自動化測試方案,能有效提高軟件開發(fā)效率和代碼質量。C++test 可以進行靜態(tài)分析,全面代碼審查,運行時錯誤檢測,并在單元測試和組件測試中集成覆蓋率分析。
以下列表包括 [INSTALL]/configs/builtin 目錄中提供的測試配置。
靜態(tài)分析
該組包括通用靜態(tài)分析測試配置。
內置測試配置 | 描述 |
Global Analysis | 檢查全局靜態(tài)分析規(guī)則。 |
The Power of Ten | 檢查基于 Gerard J. Holzmann 的文章“十的力量 - 開發(fā)安全關鍵代碼的規(guī)則”的規(guī)則。 |
Metrics | 計算多個代碼指標的值。 |
Recommended Rules | 推薦規(guī)則的默認配置。涵蓋大多數(shù)嚴重性 1 和嚴重性 2 規(guī)則。包括 Flow Analysis Fast 配置中的規(guī)則。 |
Effective C++ | 檢查 Scott Meyers 的“Effective C++”一書中的規(guī)則。這些規(guī)則檢查 C++ 程序的效率。 |
Effective STL | 檢查 Scott Meyers 的“Effective STL”一書中的規(guī)則。 |
Find Unused Code | 包括用于識別未使用/死代碼的規(guī)則。 |
Find Duplicated Code | 應用報告重復代碼的靜態(tài)代碼分析規(guī)則。重復的代碼可能表明應用程序設計不佳并導致可維護性問題。 |
Flow Analysis Aggressive | 包括代碼深度流分析的規(guī)則。運行此配置可能需要大量時間。 |
Flow Analysis Fast | 包括淺層流動分析的規(guī)則,這限制了報告的潛在可接受缺陷的數(shù)量。 |
Flow Analysis Standard | 無需測試用例或應用程序執(zhí)行即可檢測復雜的運行時錯誤。檢測到的缺陷包括使用未初始化或無效的內存、空指針取消引用、數(shù)組和緩沖區(qū)溢出、被零除、內存和資源泄漏以及死代碼。這需要一個特殊的 Flow Analysis 許可選項。 |
Modern C++ (11, 14 and 17) | 檢查強制執(zhí)行現(xiàn)代 C++ 標準(C++11、C++14、C++17)最佳實踐的規(guī)則。 |
Sutter-Alexandrescu | 根據(jù) Herb Sutter 和 Andrei Alexandrescu 所著的“C++ 編碼標準”一書檢查規(guī)則。 |
合規(guī)包
合規(guī)性包包括為特定合規(guī)性領域量身定制的測試配置,以幫助您執(zhí)行特定于行業(yè)的合規(guī)性標準和實踐。
在 DTP 上顯示合規(guī)性結果:此類別中的某些測試配置在 DTP 上具有相應的“合規(guī)性”擴展,可讓您查看安全合規(guī)性狀態(tài)、生成合規(guī)性報告并監(jiān)控實現(xiàn)安全合規(guī)性目標的進度。這些測試配置需要激活專用許可證功能。
航空航天包
內置測試配置 | 描述 |
Joint Strike Fighter | 檢查執(zhí)行聯(lián)合攻擊戰(zhàn)斗機 (JSF) 程序編碼標準的規(guī)則。 |
汽車包
內置測試配置 | 描述 |
AUTOSAR C ++ 14 編碼指南 | 檢查強制執(zhí)行 AUTOSAR C++ 編碼指南(自適應平臺,版本 19.03)的規(guī)則。此測試配置是 Parasoft 合規(guī)性包解決方案的一部分,允許您使用 DTP 上的“合規(guī)性”擴展來監(jiān)控行業(yè)標準的合規(guī)性。它需要激活專用許可證功能。 |
HIS Source Code Metrics | 檢查 Herstellerinitiative Software (HIS) 組所需的指標。 |
High Integrity C++ | 檢查強制執(zhí)行高完整性 C++ 編碼標準的規(guī)則。 |
MISRA C 1998 | 檢查強制執(zhí)行 MISRA C 編碼標準的規(guī)則 |
MISRA C 2004 | 檢查強制執(zhí)行 MISRA C 2004 編碼標準的規(guī)則。 |
MISRA C 2012 | 檢查強制執(zhí)行 MISRA C 2012 編碼標準的規(guī)則。 |
MISRA C++ 2008 | 檢查強制執(zhí)行 MISRA C++ 2008 編碼標準的規(guī)則。 |
醫(yī)療器械包
內置測試配置 | 描述 |
Recommended Rules for FDA (C) | 檢查為遵守 FDA 軟件驗證通用原則(C 語言的測試配置)而推薦的規(guī)則。 |
Recommended Rules for FDA (C++) | 檢查為遵守 FDA 軟件驗證通用原則(C++ 語言的測試配置)而推薦的規(guī)則。 |
安全包
內置測試配置 | 描述 |
CWE Top 25 2019 | 包括查找歸類為 CWE 標準的前 25 個最危險編程錯誤的問題的規(guī)則。 |
CWE Top 25 2019 + On the Cusp | 包括查找歸類為 CWE 標準的前 25 個最危險編程錯誤或包含在 CWE Weaknesses On the Cusp 列表中的問題的規(guī)則。 |
DISA-ASD-STIG | 包括查找由國防信息系統(tǒng)局提供的應用程序安全和開發(fā) STIG(安全技術實施指南)中確定的問題的規(guī)則。 |
OWASP API Security Top 10 2019 | 包括發(fā)現(xiàn)在 OWASP 的 API 安全前 10 名標準中發(fā)現(xiàn)的問題的規(guī)則。 |
OWASP Top 10 2017 | 包括發(fā)現(xiàn)在 OWASP 的 Top 10 標準中發(fā)現(xiàn)的問題的規(guī)則 |
Payment Card Industry Data Security Standard | 包括發(fā)現(xiàn) PCI 數(shù)據(jù)安全標準中發(fā)現(xiàn)的問題的規(guī)則。 |
SEI CERT C Guidelines | 檢查 SEI CERT C 編碼標準的規(guī)則和建議。該標準提供了安全編碼的指南。目標是通過例如消除可能導致未定義程序行為和可利用漏洞的未定義行為來促進安全、可靠和安全系統(tǒng)的開發(fā)。 |
SEI CERT C Rules | 檢查 SEI CERT C 編碼標準的規(guī)則。該標準提供了安全編碼的指南。目標是通過例如消除可能導致未定義程序行為和可利用漏洞的未定義行為來促進安全、可靠和安全系統(tǒng)的開發(fā)。 |
SEI CERT C++ Rules | 檢查 SEI CERT C++ 編碼標準的規(guī)則。該標準提供了安全編碼的指南。目標是通過例如消除可能導致未定義程序行為和可利用漏洞的未定義行為來促進安全、可靠和安全系統(tǒng)的開發(fā)。 |
Security Rules | 發(fā)現(xiàn)安全問題的通用測試配置 |
UL 2900 | 包括發(fā)現(xiàn)UL-2900 標準中確定的問題的規(guī)則。 |
運行時分析
內置測試配置 | 描述 |
覆蓋范圍 | 生成代碼覆蓋率報告。 |
單元測試 | 分析使用 C/C++test 的連接器收集的 CppUnit 或 CppUTest 測試結果。 |
合規(guī)性包規(guī)則映射
本節(jié)包括 CWE 標準的規(guī)則映射。其他標準的映射信息可在 Compliance Packs 附帶的 PDF 規(guī)則映射文件中找到。
CWE ID |
CWE名稱 |
Parasoft 規(guī)則 ID |
---|---|---|
CWE-119 |
內存緩沖區(qū)范圍內的操作限制不當 |
|
CWE-79 |
網(wǎng)頁生成期間輸入的不當中和(“跨站點腳本”) |
不適用 |
CWE-20 |
不正確的輸入驗證 |
|
CWE-200 |
信息曝光 |
|
CWE-125 |
越界讀取 |
|
CWE-89 |
SQL 命令中使用的特殊元素的不當中和(“SQL 注入”) |
|
CWE-416 |
免費使用 |
|
CWE-190 |
整數(shù)溢出或環(huán)繞 |
|
CWE-352 |
跨站請求偽造 (CSRF) |
不適用 |
CWE-22 |
對受限目錄的路徑名限制不當(“路徑遍歷”) |
|
CWE-78 |
操作系統(tǒng)命令中使用的特殊元素的不當中和(“操作系統(tǒng)命令注入”) |
|
CWE-787 |
越界寫入 |
|
CWE-287 |
不正確的認證 |
|
CWE-476 |
空指針解引用 |
|
CWE-732 |
關鍵資源的權限分配不正確 |
|
CWE-434 |
無限制上傳危險類型文件 |
不適用 |
CWE-611 |
XML 外部實體引用的不當限制 |
|
CWE-94 |
代碼生成控制不當(“代碼注入”) |
不適用 |
CWE-798 |
硬編碼憑證的使用 |
|
CWE-400 |
不受控制的資源消耗 |
|
CWE-772 |
有效生命周期后缺少資源釋放 |
|
CWE-426 |
不受信任的搜索路徑 |
|
CWE-502 |
不可信數(shù)據(jù)的反序列化 |
不適用 |
CWE-269 |
權限管理不當 |
|
CWE-295 |
不正確的證書驗證 |
不適用 |
Parasoft——領先的自動化測試工具,滿足絕大多數(shù)行業(yè)標準
Parasoft是一家專門提供軟件測試解決方案的公司,幫助企業(yè)打造無缺陷的軟件。
從開發(fā)到質量檢查,Parasoft的技術通過集成靜態(tài)和運行時分析,單元、功能和API測試,以及服務虛擬化,在不犧牲質量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強大的報告和分析功能可幫助用戶快速查明有風險的代碼區(qū)域,并了解新代碼更改如何影響其軟件質量,而突破性的技術將人工智能和機器學習添加到軟件測試中,使組織更容易采用和擴展跨開發(fā)和測試團隊的有效的軟件測試實踐。
Parasoft針對C/C++、Java、.NET和嵌入式的開發(fā)測試都有著30多年的深入研究,很多全國500強企業(yè)使用Parasoft的產品實現(xiàn)了軟件快速、高質量的交付。