在嵌入式系統(tǒng)與安全關(guān)鍵領(lǐng)域,如航空航天、軌道交通、自動(dòng)駕駛、醫(yī)療設(shè)備,代碼缺陷可能引發(fā)災(zāi)難性后果。傳統(tǒng)靜態(tài)分析僅能通過(guò)源代碼語(yǔ)法、結(jié)構(gòu)和編碼規(guī)范發(fā)現(xiàn)問(wèn)題,而復(fù)雜的系統(tǒng)級(jí)交互、多線程并發(fā)及邊界條件問(wèn)題往往潛伏至后期階段,導(dǎo)致高昂的修正成本。
針對(duì)這一痛點(diǎn),上海控安團(tuán)隊(duì)在嵌入式軟件自動(dòng)化測(cè)試平臺(tái)SmartRocket TestGrid中新增動(dòng)態(tài)缺陷檢測(cè)(DDC)功能模塊,旨在通過(guò)形式化驗(yàn)證技術(shù)實(shí)現(xiàn)代碼缺陷的早期根除,高效賦能代碼審查。
產(chǎn)品簡(jiǎn)介
SmartRocket TestGrid 嵌入式軟件自動(dòng)化測(cè)試平臺(tái)
SmartRocket TestGrid嵌入式軟件自動(dòng)化測(cè)試平臺(tái)是專為C/C++設(shè)計(jì)的靜動(dòng)態(tài)代碼分析工具,本次新增動(dòng)態(tài)缺陷檢測(cè)功能模塊采用形式化驗(yàn)證技術(shù)提前識(shí)別除零、移位、空指針解引用、數(shù)組越界、數(shù)據(jù)溢出、未賦值使用、共享變量沖突、不可達(dá)代碼等運(yùn)行時(shí)錯(cuò)誤缺陷,支持MISRA等國(guó)際編碼規(guī)范進(jìn)行代碼合規(guī)質(zhì)量度量,提供精準(zhǔn)錯(cuò)誤定位和修復(fù)建議,顯著縮短修復(fù)周期,降低風(fēng)險(xiǎn)成本。SmartRocket TestGrid嵌入式軟件自動(dòng)化測(cè)試平臺(tái)推出的動(dòng)態(tài)缺陷檢測(cè)功能模塊標(biāo)志著國(guó)內(nèi)代碼質(zhì)量保障從“被動(dòng)檢測(cè)”轉(zhuǎn)向“主動(dòng)預(yù)防”,為高可靠性軟件開(kāi)發(fā)提供形式化驗(yàn)證領(lǐng)域有效的工業(yè)級(jí)解決方案。
核心技術(shù)
SmartRocket TestGrid動(dòng)態(tài)缺陷檢測(cè)功能模塊基于形式化驗(yàn)證方法,通過(guò)數(shù)學(xué)推理嚴(yán)格證明代碼在任意輸入和運(yùn)行條件下的行為正確性,確保不存在特定類型的運(yùn)行時(shí)缺陷檢測(cè)。其核心依托三大技術(shù)支柱:抽象解釋(Abstract Interpretation)、符號(hào)執(zhí)行(Symbolic Execution)和定理證明(Theorem Proving),形成一套覆蓋代碼全狀態(tài)空間的驗(yàn)證體系。
· 抽象解釋是基礎(chǔ)框架
通過(guò)將程序變量映射到數(shù)學(xué)抽象域(如區(qū)間、集合或關(guān)系),對(duì)代碼進(jìn)行超集近似分析。例如將整型變量抽象為可能取值區(qū)間,指針抽象為內(nèi)存區(qū)域的合法范圍。工具通過(guò)迭代計(jì)算各代碼節(jié)點(diǎn)的抽象狀態(tài),推導(dǎo)出所有可能的執(zhí)行路徑,從而驗(yàn)證是否存在導(dǎo)致數(shù)組越界訪問(wèn)、整數(shù)溢出、除零錯(cuò)誤的操作。這一過(guò)程無(wú)需實(shí)際執(zhí)行代碼,但需平衡精度與計(jì)算復(fù)雜度。通過(guò)合理的抽象層級(jí)設(shè)計(jì),既能避免狀態(tài)爆炸,又能捕捉關(guān)鍵錯(cuò)誤模式。
· 符號(hào)執(zhí)行進(jìn)一步擴(kuò)展分析能力
將輸入變量視為符號(hào)而非具體值,探索代碼中所有邏輯分支的約束條件。通過(guò)結(jié)合約束求解器,工具可判斷各路徑是否可能觸發(fā)錯(cuò)誤,或是否存在不可達(dá)代碼。這一技術(shù)尤其擅長(zhǎng)處理復(fù)雜邏輯條件,如嵌套循環(huán)、非線性運(yùn)算等,確保對(duì)多路徑場(chǎng)景的窮舉覆蓋。
· 定理證明為高階驗(yàn)證提供支持
將代碼行為轉(zhuǎn)化為數(shù)學(xué)命題,通過(guò)邏輯推理驗(yàn)證其與需求規(guī)范的一致性。工具通過(guò)將代碼控制流、數(shù)據(jù)流與形式化需求模型(如時(shí)序邏輯公式)進(jìn)行映射,利用自動(dòng)推理引擎生成證明,確保功能實(shí)現(xiàn)嚴(yán)格符合設(shè)計(jì)意圖。
此外,SmartRocket TestGrid動(dòng)態(tài)缺陷檢測(cè)功能模塊還整合并發(fā)分析技術(shù),通過(guò)建模線程調(diào)度、鎖機(jī)制和內(nèi)存可見(jiàn)性,檢測(cè)數(shù)據(jù)競(jìng)爭(zhēng)等并發(fā)缺陷。
工具基于形式化驗(yàn)證理論,將代碼抽象為數(shù)學(xué)模型進(jìn)行符號(hào)執(zhí)行分析,用符號(hào)模擬變量狀態(tài)變化,遍歷所有分支路徑生成決策樹(shù),篩選違規(guī)節(jié)點(diǎn)定位缺陷。相較傳統(tǒng)測(cè)試,覆蓋全場(chǎng)景且提供明確反例,避免遺漏關(guān)鍵問(wèn)題。其獨(dú)特優(yōu)勢(shì)在于:
· 全面性
結(jié)合抽象解釋的全局狀態(tài)推導(dǎo)與符號(hào)執(zhí)行的路徑敏感分析,消除傳統(tǒng)測(cè)試的覆蓋盲區(qū)。
· 數(shù)學(xué)嚴(yán)謹(jǐn)性
以形式化方法替代經(jīng)驗(yàn)性測(cè)試,提供“無(wú)漏報(bào)”的確定性結(jié)論(如證明某錯(cuò)誤絕不可能發(fā)生)。
· 可擴(kuò)展性
通過(guò)分層抽象和并行計(jì)算優(yōu)化,支持大規(guī)模嵌入式代碼(如百萬(wàn)行級(jí))的驗(yàn)證。
SmartRocket TestGrid動(dòng)態(tài)缺陷檢測(cè)功能模塊通過(guò)上述技術(shù)的深度融合,為安全關(guān)鍵系統(tǒng)(如航空航天控制器、汽車ECU)提供數(shù)學(xué)可證明的代碼可靠性保障,成為實(shí)現(xiàn)功能安全標(biāo)準(zhǔn)(如ISO 26262、DO-178C)的核心工具。其技術(shù)路徑不僅彌補(bǔ)了動(dòng)態(tài)測(cè)試的局限性,更在工業(yè)領(lǐng)域推動(dòng)了形式化方法從學(xué)術(shù)理論到工程實(shí)踐的跨越。
主要功能
01數(shù)值計(jì)算錯(cuò)誤預(yù)防
預(yù)防整數(shù)溢出、除零異常等計(jì)算錯(cuò)誤,提出數(shù)據(jù)類型優(yōu)化建議。
02內(nèi)存管理錯(cuò)誤檢查
精準(zhǔn)檢測(cè)數(shù)組越界、空指針解引用等典型錯(cuò)誤,內(nèi)置多線程競(jìng)態(tài)條件檢測(cè)機(jī)制。
03編碼規(guī)范合規(guī)檢查
支持MISRA等標(biāo)準(zhǔn)及行業(yè)規(guī)范,確保代碼合規(guī)性,支持精準(zhǔn)定位代碼問(wèn)題位置,有助于提高代碼的可讀性和可維護(hù)性。
04數(shù)據(jù)流控制流分析
通過(guò)靜態(tài)追蹤函數(shù)調(diào)用與變量生命周期,檢測(cè)控制流死循環(huán)及數(shù)據(jù)流未初始化等問(wèn)題,并生成數(shù)據(jù)流控制流分析報(bào)告。
產(chǎn)品優(yōu)勢(shì)
優(yōu)勢(shì)一早期風(fēng)險(xiǎn)攔截
? 在單元測(cè)試前發(fā)現(xiàn)90%以上缺陷,節(jié)省50%后期調(diào)試成本,實(shí)現(xiàn)真正意義上代碼質(zhì)量“主動(dòng)預(yù)防”。
優(yōu)勢(shì)二零誤報(bào)技術(shù)
? 通過(guò)形式化方法驗(yàn)證,確保每項(xiàng)報(bào)錯(cuò)均有對(duì)應(yīng)真實(shí)缺陷,并對(duì)缺陷進(jìn)行精準(zhǔn)定位追蹤,避免無(wú)效工作量。
優(yōu)勢(shì)三一體化測(cè)試平臺(tái)
? 支持對(duì)規(guī)則掃描、運(yùn)行時(shí)錯(cuò)誤分析、單元測(cè)試、集成測(cè)試、目標(biāo)機(jī)測(cè)試全流程代碼測(cè)試驗(yàn)證。
優(yōu)勢(shì)四客戶定制
? 支持基于客戶實(shí)際需求,定制化生成Word、PDF、Html、Excel等多格式、多維度報(bào)告與報(bào)表。
審核編輯 黃宇
-
缺陷檢測(cè)
+關(guān)注
關(guān)注
2文章
151瀏覽量
12555 -
靜態(tài)分析
+關(guān)注
關(guān)注
1文章
42瀏覽量
4014
發(fā)布評(píng)論請(qǐng)先 登錄
變頻器自動(dòng)檢測(cè)功能的詳解

變頻器的自動(dòng)檢測(cè)功能有哪些?

主動(dòng)安全和被動(dòng)安全,誰(shuí)在事故中發(fā)揮作用更關(guān)鍵?
高光譜相機(jī)在工業(yè)檢測(cè)中的應(yīng)用:LED屏檢、PCB板缺陷檢測(cè)
樹(shù)莓派制成的 — 帶運(yùn)動(dòng)檢測(cè)和攝像頭的安防系統(tǒng)

無(wú)人機(jī)智能巡檢系統(tǒng)讓水利管理從被動(dòng)應(yīng)對(duì)到主動(dòng)防御
X-Ray檢測(cè)設(shè)備能檢測(cè)PCBA的哪些缺陷
被動(dòng)紅外探測(cè)器和主動(dòng)紅外探測(cè)器的區(qū)別
使用MSPM0進(jìn)行PIR運(yùn)動(dòng)檢測(cè)

SSD架構(gòu)與功能模塊詳解

使用被動(dòng)式紅外傳感器的運(yùn)動(dòng)檢測(cè)方案

基于AI深度學(xué)習(xí)的缺陷檢測(cè)系統(tǒng)
主動(dòng)紅外和被動(dòng)紅外詳解

外觀缺陷檢測(cè)原理

評(píng)論