System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于軟件蛻變測試,具體涉及一種蒙特卡羅程序的蛻變關系動態識別方法及系統。
技術介紹
1、測試是保證軟件健壯性的一種有效手段,它的基本原理是,使用有限的測試用例運行待測軟件,通過給定的預期輸出驗證實際輸出是否正確,以檢測軟件中是否潛藏故障。有效的測試可以檢測出軟件存在的缺陷,避免軟件缺陷引發的事故發生。
2、但是存在一種特殊情況,就是測試輸入的預期輸出難以預測。這種很難或無法找到驗證一個程序的任意輸入所對應輸出是否正確的問題被稱為“測試orac?l?e”問題。
3、蒙特卡羅程序是一種隨機模擬程序,它以概率論為基礎,通過進行大量的抽樣模擬來近似計算目標的期望值或方差,在數值模擬中有廣泛的應用。由于:
4、①蒙特卡羅方法本身具有的隨機性,它求解的是真實值的近似解,與實際結果之間存在一定的誤差,難以確定某些輸出的預期值;
5、②蒙特卡羅方法面向的問題復雜,研究規模大,如反應堆物理、金屬輻照損傷等,為了保證軟件質量,需要生成大量的測試用例,而測試用例的研發成本高,研發周期長,不易大量產生。
6、因此蒙特卡羅程序的測試存在“測試orac?l?e”問題,傳統的軟件測試技術不適用于蒙特卡羅程序的測試。
7、蛻變測試(metamorph?i?c?test?i?ng,mt)使用待測軟件應滿足的必要屬性(蛻變關系)檢測是否存在故障,在測試預期不存在的情形下仍能有效地測試軟件,因此可以有效緩解“測試orac?l?e”問題。目前,蛻變測試面臨三大挑戰:挑戰一,如何通用、高效
8、蛻變關系識別方法可分為兩大類,靜態方法和動態方法:
9、①靜態方法。靜態方法對于測試對象所屬領域的知識要求高,分析工作的執行依靠人力完成,這種分析方法的效率不高;
10、②動態方法。動態分析基于程序成功的測試用例的輸入數據和輸出數據,采取數據挖掘技術自動識別蛻變關系,但是該方法識別出的蛻變關系仍需要人工確認。
11、蒙特卡羅程序的輸出存在兩個特點:
12、(1)非確定性:蒙特卡羅程序是基于概率論的統計計算方法,在抽樣模型中引入了隨機誤差,這使得程序的輸出具有非確定性,程序多次運行,相同的輸入獲取的輸出可能不同,但是都在某一值的誤差范圍內;
13、(2)收斂性:統計計算方法基于研究問題構建概率模型,并采取隨機試驗,獲得研究問題的近似解,而根據大數定理,樣本的均值會隨著抽樣次數的增加,依概率收斂到總體均值,所以程序多次運行,相同的輸入對應的一組輸出的均值具有收斂性。
14、這兩點表明,隨著抽樣次數的增加,相同的輸入對應的輸出可能不同,蒙特卡羅程序輸入關系確定時,輸出關系可能是非確定的。通用的蛻變關系識別方法不適用于蒙特卡羅程序的蛻變關系識別。
15、經過文獻查閱,目前缺少系統性的蒙特卡羅程序的蛻變關系識別方法。因此,本文提供了一種蒙特卡羅程序的蛻變關系動態識別方法,可以為發現蒙特卡羅程序的蛻變關系提供指導,也為發現蒙特卡羅程序的蛻變關系開辟一條新途徑。
技術實現思路
1、本專利技術實例的目的是提供一種蒙特卡羅程序的蛻變關系動態識別方法及系統,其可以為發現蒙特卡羅程序的蛻變關系提供指導,也為發現蒙特卡羅程序的蛻變關系開辟一條新途徑,從而可以解決
技術介紹
中涉及的至少一個技術問題。
2、為了解決上述技術問題,本專利技術是這樣實現的:
3、本專利技術實例提供了一種蒙特卡羅程序的蛻變關系動態識別方法,包括如下步驟:
4、步驟s1,構造輸入關系,創建輸入關系的基本形式庫;
5、步驟s2,計算輸出收斂值,建立數據庫存儲測試用例;
6、步驟s3,采取回歸分析的方法挖掘輸出關系;
7、步驟s4,驗證分析挖掘到的似然蛻變關系;
8、步驟s5,對挖掘到的輸出關系的組成系數進行分析,獲取蛻變關系。
9、可選的,步驟s1中,構造輸入關系,具體包括:
10、根據程序本身特性和規格文檔,采取靜態分析的方法構造輸入關系。
11、可選的,步驟s2中,計算輸出收斂值,建立數據庫存儲測試用例,具體包括:
12、根據構造的輸入關系,采取隨機法產生原始輸入數據和衍生輸入數據,多次運行程序,獲得相同輸入對應的一組輸出數據,計算這組輸出數據的均值和方差,通過方差評估均值可信度,用均值近似這組輸出的真實值,構造測試用例。
13、可選的,步驟s3中,采取回歸分析方法挖掘輸出關系,具體包括:
14、步驟s21,對步驟s2獲得的一組輸出數據的收斂值,構造數據對;
15、步驟s32,采取回歸分析的方法挖掘數據對的數值關系,作為對應輸入關系的輸出關系。
16、可選的,步驟s4中,驗證分析挖掘到的似然蛻變關系,具體包括:
17、將回歸分析挖掘到的輸出關系再次帶入程序,計算輸出關系與該區域輸出數據的可決系數r2,若r2>0.9,則認為該輸出關系的可信度高;
18、增加實驗次數,采取回歸分析挖掘輸出新的數值關系,分析當前挖掘的輸出關系與增加實驗次數后挖掘到的輸出關系的組成系數的差值,若差值小于0.1,則認為該輸出關系的可信度高。
19、可選的,步驟s5中,蛻變關系可信度評估,具體包括:
20、設當前為第i次實驗,n=10*i,輸出數據的平均方差達到要求,輸出數據的收斂值可信度高,回歸分析挖掘的數值關系為f;
21、重復10次實驗,每次實驗n+10,對10次實驗的輸出數據的收斂值進行回歸分析,挖掘數值關系fa(1≤a≤10);
22、計算fa的組成系數與f的組成系數差,并根據系數差的絕對值對輸出關系的組成系數的精度進行修正。
23、本申請實例還提供了一種蒙特卡羅程序的蛻變關系動態識別系統,用于實現所述的方法,包括:
24、基本形式庫創建模塊,其用于構造輸入關系,創建輸入關系的基本形式庫;
25、數據庫建立模塊,其用于計算輸出收斂值,建立數據庫存儲測試用例;
26、輸出關系挖掘模塊,其用于采取回歸分析的方法挖掘輸出關系;
27、似然蛻變關系驗證模塊,其用于驗證分析挖掘到的似然蛻變關系,確定蛻變關系;
28、蛻變關系獲取模塊,對挖掘到的輸出關系的組成系數進行分析,獲取蛻變關系。
29、本專利技術相較于現有技術,其有益效果在于:
30、基于大數定理和隨機特性構造測試用例,采取回歸分析挖掘輸出關系,有助于蒙特卡羅程序的蛻變關系識別,也為發現蒙特本文檔來自技高網...
【技術保護點】
1.一種蒙特卡羅程序的蛻變關系動態識別方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的方法,其特征在于,步驟S1中,構造輸入關系,具體包括:
3.根據權利要求1所述的方法,其特征在于,步驟S2中,計算輸出收斂值,建立數據庫存儲測試用例,具體包括:
4.根據權利要求3所述的方法,其特征在于,步驟S3中,采取回歸分析方法挖掘輸出關系,具體包括:
5.根據權利要求4所述的方法,其特征在于,步驟S4中,驗證分析挖掘到的似然蛻變關系,具體包括:
6.根據權利要求5所述的方法,其特征在于,步驟S5中,蛻變關系獲取,具體包括:
7.一種蒙特卡羅程序的蛻變關系動態識別系統,其特征在于,用于實現如權利要求1-6任意一項所述的方法,包括:
【技術特征摘要】
1.一種蒙特卡羅程序的蛻變關系動態識別方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的方法,其特征在于,步驟s1中,構造輸入關系,具體包括:
3.根據權利要求1所述的方法,其特征在于,步驟s2中,計算輸出收斂值,建立數據庫存儲測試用例,具體包括:
4.根據權利要求3所述的方法,其特征在于,步驟s3中,采取回...
【專利技術屬性】
技術研發人員:閆仕宇,陳意,李萌,劉杰,陽小華,
申請(專利權)人:南華大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。