Download presentation
Presentation is loading. Please wait.
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.