基於灰盒的cpu在線測試方法
2023-04-24 23:59:46 1
基於灰盒的cpu在線測試方法
【專利摘要】本發明公開了一種基於灰盒的CPU在線測試方法;包括以下步驟:設定安全計算機語言代碼規則;提取CPU功能相關的最小語言子集;產生CPU功能測試用例;生成目標代碼;在所測試的CPU上運行,產生測試結果;在另一個CPU上比較結果;在另一個CPU上存儲所期望的結果;判斷測試結果與所期望的結果是否一致;如一致則判定CPU功能正常,繼續運行;如不一致則判定系統故障處理。本發明使用高級計算機語言實現對CPU功能的在線檢查,提高測試代碼的可移植性與可讀性;兼顧了CPU功能層,以及所真實使用到的指令和寄存器的全面覆蓋;不需要關閉中斷,不需要在自檢前後保存和恢復CPU內部狀態,不會對CPU當前狀態造成破壞。
【專利說明】基於灰盒的CPU在線測試方法
【技術領域】
[0001]本發明屬於軟體算法領域,用於在線檢測CPU執行功能的正確性。
【背景技術】
[0002]在工業控制系統和安全信號系統(應用於航空電子、鐵路信號、核電等行業)中,中央處理器CPU確立了核心控制地位,對於保證系統的安全可靠有著極其重要的作用。為了確保CPU能正確執行功能任務,必須對CPU進行周期性監控。當有異常發現時,要啟動故障管理機制,及時採取安全措施以避免更為嚴重的事故發生。安全領域對於CPU檢測一直是業界的難點,通常的做法如圖1所示。
[0003]現有的方法是對CPU的內部資源做檢測,比如寄存器組,算術邏輯單元等。但這種方法缺點如下:
[0004]1.由於目前CPU的集成度越來越高,內部結構越發複雜,對CPU內部做操作可能帶來不可預測的風險.[0005]2.在系統運行過程中對於CPU做測試常常需要關閉中斷,影響安全系統正常的工作和實時響應能力。
[0006]3.CPU自己對本身的檢測結果不可信,如果CPU本身發生故障,測試結果需要自己判斷,這有不可預測性。
[0007]4.CPU測試用例通常會用底層彙編代碼實現,由於需要考慮不同架構的CPU,可移植性差,在不同的CPU上需要寫不同的測試程序。
【發明內容】
[0008]本發明所要解決的技術問題是提供一種基於灰盒的CPU在線測試方法,它可以使用高級計算機語言實現對CPU功能的在線檢查,提高測試代碼的可移植性與可讀性。
[0009]為了解決以上技術問題,本發明提供了一種基於灰盒的CPU在線測試方法;包括以下步驟:設定安全計算機語言代碼規則;提取CPU功能相關的最小語言子集;產生CPU功能測試用例;生成目標代碼;在所測試的CPU上運行,產生測試結果;在另一個CPU上比較結果;在另一個CPU上存儲所期望的結果;判斷測試結果與所期望的結果是否一致;如一致則判定CPU功能正常,繼續運行;如不一致則判定系統故障處理。
[0010]本發明的有益效果在於:使用高級計算機語言實現對CPU功能的在線檢查,提高測試代碼的可移植性與可讀性;兼顧了 CPU功能層,以及所真實使用到的指令和寄存器的全面覆蓋;不需要關閉中斷,不需要在自檢前後保存和恢復CPU內部狀態,不會對CPU當前狀態造成破壞。
[0011]優選的,首先針對CPU功能錯誤進行分類,選取相應的在線測試集合。
[0012]優選的,可以在兩個CPU之間相互執行在線測試。
【專利附圖】
【附圖說明】[0013]下面結合附圖和【具體實施方式】對本發明作進一步詳細說明。
[0014]圖1是現有檢測CPU執行功能的示意圖;
[0015]圖2是本發明所述方法的示意圖;
[0016]圖3是本發明所述對CPU功能在線測試過程與結果監控的示意圖。
[0017]圖4是本發明所述方法在二取二表決模型安全計算機中的典型應用示意圖。
【具體實施方式】
[0018]本發明提供一種基於灰盒測試的CPU在線測試方法,該算法能夠應用於包括但並不局限於安全信號系統、工業控制系統等領域。本發明對上述算法做了更高層次的算法改進,克服了現有技術的缺點,又能達到覆蓋CPU功能故障的目的。
[0019]灰盒(Gray Box)是一種程序或系統上的工作過程被局部認知的裝置。灰盒測試,也稱作灰盒分析,是基於對程序內部細節有限認知上的軟體調試方法。測試者可能知道系統組件之間是如何互相作用的,但缺乏對內部程序功能和運作的詳細了解。對於內部過程,灰盒測試把程序看作一個必須從外面進行分析的黑盒。
[0020]灰盒測試由於不需要測試者接觸原始碼,因此灰盒測試不存在侵略性和偏見。開發者和測試者間有明顯的區別,人事衝突的風險減到最小。然而,灰盒測試相對白盒測試更加難以發現並解決潛在問題,尤其在一個單一的應用中,白盒測試的內部細節可以完全掌握。灰盒測試結合了白盒測試盒黑盒測試的要素。它考慮了用戶端、特定的系統知識和操作環境。它在系統組件的協同性環境中評價應用軟體的設計。灰盒測試由方法和工具組成,這些方法和工具取材於應用程式的內部知識盒與之交互的環境,能夠用於黑盒測試以增強測試效率、錯誤發現和錯誤分析的效率。灰盒測試涉及輸入和輸出,但使用關於代碼和程序操作等通常在測試人員視野之外的信息設計測試。
[0021]本發明整個算法如下圖2所示。
[0022]具體算法可以分三個階段:
[0023]第一階段是針對CPU功能錯誤進行分類,選取相應的高級計算機語言中的在線測試集合;第二階段是對CPU功能在線測試過程與結果監控的方法。第三階段是對CPU功能在線測試用例覆蓋率的確定與補充。
[0024]階段一:
[0025]CPU通用功能錯誤如下:
[0026]
【權利要求】
1.一種基於灰盒的CPU在線測試方法;其特徵在於,包括以下步驟: 設定安全計算機語言代碼規則; 提取CPU功能相關的最小語目子集; 產生CPU功能測試用例; 生成目標代碼; 在所測試的CPU上運行,產生測試結果; 在另一個CPU上比較結果; 在另一個CPU上存儲所期望的結果; 判斷測試結果與所期望的結果是否一致; 如一致則判定CPU功能正常,繼續運行; 如不一致則判定系統故障處理。
2.如權利要求1所述的基於灰盒的CPU在線測試方法;其特徵在於,首先針對CPU功能錯誤進行分類,選取相應的在線測試集合。
3.如權利要求1所述的基於灰盒的CPU在線測試方法;其特徵在於,在兩個CPU之間相互執行在線測試。
【文檔編號】G06F11/36GK103514094SQ201310473086
【公開日】2014年1月15日 申請日期:2013年10月11日 優先權日:2013年10月11日
【發明者】袁躍峰, 張小林, 林先賢, 趙磊, 嚴文煜 申請人:上海富欣智能交通控制有限公司