System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,尤其涉及一種數據處理方法、裝置、設備及可讀存儲介質。
技術介紹
1、目前計算機處理器的源碼指令越來越多且越來越復雜,源碼指令從最初的單發到并發,從最初微指令變成超長指令字結構,在硬件實現上高度耦合,導致源碼指令的打包方式急劇擴大,從而使得源碼指令驗證的交叉組合無限大,人工設計測試用例來進行覆蓋率測試的方式,會導致人工成本過高,而隨機生成測試用例的方式,又會導致難以覆蓋源碼指令所實現的所有功能點,測試效率低。
技術實現思路
1、本申請實施例提供了一種數據處理方法、裝置、設備及可讀存儲介質,可以提高功能覆蓋率測試的效率,降低人力成本。
2、本申請實施例一方面提供了一種數據處理方法,包括:
3、獲取包含m個業務指令的目標指令包;m為正整數,業務指令為針對計算機處理器的源碼指令;
4、將m個業務指令分別對應的指令數據類型范圍、目的操作數范圍與源操作數范圍相互交叉組合,得到第一維正交因子;第一維正交因子表征目標指令包中m個業務指令的指令組成方式;
5、獲取m個業務指令分別對應的業務函數類型,確定m個業務函數類型所適配的指令槽位范圍,將m個業務函數類型所適配的m個指令槽位范圍相互交叉組合,得到第二維正交因子;第二維正交因子表征適配m個指令槽位范圍的業務指令的組包方式;
6、根據第二維正交因子確定目標指令包所調用的寄存器類型,根據m個業務指令在寄存器類型下所映射的端口槽位范圍確定第三維正交因子;第三維正交因子表征m個業
7、其中,m個業務指令包括業務指令si,i為正整數;方法還包括:
8、將業務指令si所適配的指令數據類型的種類,確定為業務指令si對應的指令數據類型范圍;指令數據類型包含目的操作數的操作數類型和源操作數的操作數類型;
9、將目的操作數所覆蓋的一個或多個寄存器索引,確定為業務指令si對應的目的操作數范圍;
10、將源操作數所覆蓋的一個或多個寄存器索引,確定為業務指令si對應的源操作數范圍。
11、其中,m個業務指令包括業務指令si,i為正整數;確定m個業務函數類型所適配的指令槽位范圍,包括:
12、將業務指令si對應的業務函數類型所適配的一個或多個指令槽位,確定為業務指令si的業務函數類型對應的指令槽位范圍;指令槽位包括標量槽位、矢量槽位和通用槽位,其中,標量槽位、矢量槽位和通用槽位均具有被拆解為多個槽位的功能,標量槽位適配所處理的操作數類型為標量的業務函數類型,矢量槽位適配所處理的操作數類型為矢量的業務函數類型。
13、其中,m個業務指令所關聯的寄存器的調用方式包括無端口訪問方式、單端口訪問方式和多端口訪問方式,根據m個業務指令在寄存器類型下所映射的端口槽位范圍確定第三維正交因子,包括:
14、在m個業務指令中,將屬于無端口訪問方式的業務指令所適配的一個或多個指令槽位,確定為第一槽位范圍;
15、將屬于單端口訪問的業務指令所適配的一個或多個指令槽位,確定為第二槽位范圍;
16、將屬于多端口訪問的業務指令所適配的一個或多個指令槽位,確定為第三槽位范圍;
17、將m個業務指令所具有的第一槽位范圍、第二槽位范圍和第三槽位范圍進行交叉組合,得到第三維正交因子;第三維正交因子表征m個業務指令所具有的第一槽位范圍、第二槽位范圍和第三槽位范圍的端口訪問關系。
18、其中,還包括:
19、獲取q個指令包;q為正整數,q個指令包包括目標指令包;
20、將q個指令包分別對應的第一維正交因子相互交叉組合,得到第一維驗證因子;第一維驗證因子表征q個指令包中業務指令的指令組成方式;
21、將q個指令包分別對應的第二維正交因子相互交叉組合,得到第二維驗證因子;第二維驗證因子表征q個指令包中業務指令的組包方式;
22、將q個指令包分別對應的第三維正交因子相互交叉組合,得到第三維驗證因子;第三維驗證因子表征q個指令包中業務指令對應的端口槽位范圍之間的耦合關系;
23、將q個指令包分別對應的讀管道位置范圍、q個指令包分別對應的寫管道位置范圍、q個指令包分別對應讀流水線位置范圍和q個指令包分別對應的寫流水線位置范圍相互交叉組合,得到第四維驗證因子;第四維驗證因子表征q個指令包的讀寫依賴性關系,第四維驗證因子用于與第一維驗證因子、第二維驗證因子和第三維驗證因子共同確定q個指令包的功能覆蓋率。
24、其中,還包括:
25、基于q個指令包的流水線級數,將每個指令包中讀寄存器指令所適配的管道位置,確定為q個讀管道位置范圍;
26、將每個指令包中寫寄存器指令所適配的管道位置,確定為q個寫管道位置范圍;
27、將每個指令包中讀寄存器指令在流水線中獲取操作數時所適配的流水位置,確定為q個讀流水線位置范圍;
28、將每個指令包中寫寄存器指令在流水線中完成計算時所適配的流水位置,確定為q個寫流水線位置范圍。
29、其中,還包括:
30、獲取空間覆蓋約束范圍;空間覆蓋約束范圍是基于目標指令包所具有功能點進行設置得到的;
31、通過第一維正交因子、第二維正交因子、第三維正交因子和空間覆蓋約束范圍生成正交覆蓋組,通過正交覆蓋組中的測試用例對目標指令包進行覆蓋率測試;
32、若目標指令包的功能覆蓋率未滿足覆蓋率完備條件,則調整空間覆蓋約束范圍,直至目標指令包的功能覆蓋率滿足覆蓋率完備條件,完成對目標指令包的覆蓋率測試,目標指令包的功能覆蓋率用于指示指令包所具有的功能點在覆蓋率測試過程中被執行的比例。
33、其中,通過第一維正交因子、第二維正交因子和第三維正交因子生成驗證正交覆蓋組,根據空間覆蓋約束范圍隨機生成測試用例,通過測試用例對目標指令包進行覆蓋率測試,包括:
34、通過第一維正交因子與空間覆蓋約束范圍生成第一維正交覆蓋組,通過第一維正交覆蓋組中的測試用例對目標指令包進行覆蓋率測試,得到第一維正交覆蓋點,通過第一維正交覆蓋點與第一維正交覆蓋組確定目標指令包的第一維正交覆蓋率;
35、通過第二維正交因子與空間覆蓋約束范圍生成第二維正交覆蓋組,通過第二維正交覆蓋組中的測試用例對指令包進行覆蓋率測試,得到第二維正交覆蓋點,通過第二維正交覆蓋點與第二維正交覆蓋組確定目標指令包的第二維正交覆蓋率;
36、通過第三維正交因子與空間覆蓋約束范圍生成第三維正交覆蓋組,通過第三維正交覆蓋組中的測試用例對指令包進行覆蓋率測試,得到第三維正交覆蓋點,通過第三維正交覆蓋點與第三維正交覆蓋組確定目標指令包的第三維正交覆蓋率;第一維正交覆蓋率、第二維正交覆蓋率和第三維正交覆蓋率共同用于確定目標指令包的功能覆蓋率。
37、其中,本文檔來自技高網...
【技術保護點】
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述M個業務指令包括業務指令Si,i為正整數;所述方法還包括:
3.根據權利要求1所述的方法,其特征在于,所述M個業務指令包括業務指令Si,i為正整數;所述確定M個業務函數類型所適配的指令槽位范圍,包括:
4.根據權利要求1所述的方法,其特征在于,所述M個業務指令所關聯的寄存器的調用方式包括無端口訪問方式、單端口訪問方式和多端口訪問方式,所述根據所述M個業務指令在所述寄存器類型下所映射的端口槽位范圍確定第三維正交因子,包括:
5.根據權利要求1所述的方法,其特征在于,還包括:
6.根據權利要求5所述的方法,其特征在于,還包括:
7.根據權利要求1所述的方法,其特征在于,還包括:
8.根據權利要求7所述的方法,其特征在于,所述通過所述第一維正交因子、所述第二維正交因子和所述第三維正交因子生成驗證正交覆蓋組,根據所述空間覆蓋約束范圍隨機生成測試用例,通過所述測試用例對所述目標指令包進行覆蓋率測試,包括:
9
10.一種數據處理裝置,其特征在于,包括:
11.一種計算機設備,其特征在于,包括:處理器、存儲器以及網絡接口;
12.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機程序,所述計算機程序適于由處理器加載并執行,以使得具有所述處理器的計算機設備執行權利要求1-9任一項所述的方法。
13.一種計算機程序產品,其特征在于,所述計算機程序產品包括計算機程序,該計算機程序存儲在計算機可讀存儲介質中,且適于由處理器讀取并執行,以使得具有所述處理器的計算機設備執行權利要求1-9任一項所述的方法。
...【技術特征摘要】
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述m個業務指令包括業務指令si,i為正整數;所述方法還包括:
3.根據權利要求1所述的方法,其特征在于,所述m個業務指令包括業務指令si,i為正整數;所述確定m個業務函數類型所適配的指令槽位范圍,包括:
4.根據權利要求1所述的方法,其特征在于,所述m個業務指令所關聯的寄存器的調用方式包括無端口訪問方式、單端口訪問方式和多端口訪問方式,所述根據所述m個業務指令在所述寄存器類型下所映射的端口槽位范圍確定第三維正交因子,包括:
5.根據權利要求1所述的方法,其特征在于,還包括:
6.根據權利要求5所述的方法,其特征在于,還包括:
7.根據權利要求1所述的方法,其特征在于,還包括:
8.根據權利要求7所述的方法,其特征在于,所述通...
【專利技術屬性】
技術研發人員:肖攀彬,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。