Presentation is loading. Please wait.

Presentation is loading. Please wait.

學生 : 秦勢翔 陳政揚 執導教授 : 曾王道. * 對於仿真的數位電路來說缺乏詳盡的驗證是一個 非常大的問題,精確的驗證使用數學上公式來證 明此問題的正確性。

Similar presentations


Presentation on theme: "學生 : 秦勢翔 陳政揚 執導教授 : 曾王道. * 對於仿真的數位電路來說缺乏詳盡的驗證是一個 非常大的問題,精確的驗證使用數學上公式來證 明此問題的正確性。"— Presentation transcript:

1 學生 : 秦勢翔 陳政揚 執導教授 : 曾王道

2 * 對於仿真的數位電路來說缺乏詳盡的驗證是一個 非常大的問題,精確的驗證使用數學上公式來證 明此問題的正確性。

3 * 流程如下 此圖顯示一個驗證的程序,圖中的 Model Checking 為一個用來判 斷結果是否正確的工具, Model 要有足夠的能力決定出設計是否 正確

4 * Original program code: * a = b | c; * Mutated program: * a = b & c;

5 我們把 b|c 更改為 b&c 再去做檢驗,用來確定 結果是否為正確,如果我們發現兩個結果為相 同,則我稱此結果為 “live” ,若為不同則稱 “killed” ,我們的目的是保留所有 ”live” 的結果, 並不採用所有 ”killed” 的性質。

6 * 我們的目標為找的一個合適的運 算方法來判斷此 mutation-based 問題的正確性。

7 問題描述( Problem Description ) (1) 給定兩電路資料 M 及 P ,一 M 的資料與所有 P 資料做 比對,若此 M 資料與所有 P 資料皆為滿足,則輸出該 M 資料,若 M 資料與 P 資料有一不符,則不輸出該資 料。 (2) 化簡 M 資料,去除不必要的判斷,增加判斷上的效 率。

8 軟體功能及特性( Functions and Features ) 結合一組 M 資料與一組 P 資料,合併為 PM 資料後使用比 對程式 MARCHDL ,該程式為讀取 PM 資料並判斷中的 P 資 料與 M 資料,若 P 資料與 M 資料為等價電路則輸出滿足結 果,若反之,則輸出不滿足結果

9 貢獻及成果簡述 (Contributions and Results) 可以快速的比對資料,若未來遇到資料量大時,則可 快速比對此化簡 是否正確,如此即可使電路圖大大降低製造成本增加 產能,也可縮減不必 要的電路,並降低電路的延遲,也可降低功率,也可 降低此電路的電路範 圍,促進電路的改革與發展。

10 Model checking & Input / Output  Input  Design M: written in DIMACS CNF format

11  Input  Property P[1] : written in DIMACS CNF format Model checking & Input / Output

12  Input  The concatenation of M and P[1]: (M, P[1]) Given a (M, P[i]) pair, we denote the model checking as  SAT (M, P[i])  If the solver returns TRUE M satisfies the property P[i]  Otherwise, returns FALSE M violates P[i] Model checking & Input / Output

13  Model checking foreach P[i], ( 0 < i <= n ) SAT (M, P[i]) = TRUE  One of the following program changes of the original M a literal is always positive ‚a literal is always negative ƒa literal is negated compared with M Model checking & Input / Output

14  Model checking  A Mutant M[2]: which uses program change rule (1) Model checking & Input / Output

15  Model checking  A Mutant M[4]: which uses program change rule (3) Model checking & Input / Output

16  Input mutation_file Model checking & Input / Output

17  Input property_file Model checking & Input / Output

18  Output write a program to determine as many “live” mutants as possible foreach M[k], ( 0 < k <= m) Check foreach P[i], ( 0 < i <= n ) SAT (M[k], P[i]) == TRUE ‚Are there any approaches to reduce the complexity? Model checking & Input / Output

19 實驗結果 (Experimental Results) 1 工作平台及程式語言 (Platform and Programming Language) 工作平台: Ubuntu 程式語言: C++ 2 測試檔輸出 (Test Output) 3.TIME : real user report live cada008 17.578s 6.09s 38

20

21 參考資料 (References) [1] Properties Incompleteness Evaluation by Functional Verification, Andrea Fedeli, Franco Fummi, and Graziano Pravadelli, IEEE Transactions on Computers, Apr. 2007. [2] Mutation 2000: Uniting the Orthogonal, Jeff Offutt and Roland H. Untch, Mutation 2000: Mutation Testing in the Twentieth and the Twenty First Centuries, pages 45-55, October 2000. [3] A Novel Mutation-Based Validation Paradigm for High- Level Hardware Descriptions, Jorge Campos and Hussain Al-Asaad, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Nov. 2008. [4] DIMACS CNF format: http://www.cs.ubc.ca/~hoos/SATLIB/benchm.html [5] Unified Formal and Dynamic Verification Closure: Can Mutations Bridge the Gap? Mickael Moreau, Olivier Haller, Mirella Negro Marcigaglia, Laurent Martin-Borret, Sofiene Mejri, DVCon 2009 [6] C++ PRIMER FOURTH EDITION, Stanly B.Lippman, Josee Lajoie, Barbara E.Moo


Download ppt "學生 : 秦勢翔 陳政揚 執導教授 : 曾王道. * 對於仿真的數位電路來說缺乏詳盡的驗證是一個 非常大的問題,精確的驗證使用數學上公式來證 明此問題的正確性。"

Similar presentations


Ads by Google