formal property qualification

14
971517 蔡蔡蔡 971547 蔡蔡蔡 971555 蔡蔡蔡 FORMAL PROPERTY QUALIFICATION 1

Upload: riley-rhodes

Post on 02-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Formal Property Qualification. 971517 蔡中皓 971547 郭尚豪 971555 紀羽軒. Outline. Background Motive and purpose Method Conclusion. Background. Design errors are addressed by model checking tools. A model checking tool imports a model and several formal properties. - PowerPoint PPT Presentation

TRANSCRIPT

1

971517 蔡 中 皓 971547 郭 尚 豪 971555 紀 羽 軒

FORMAL PROPERTY QUALIFICATION

2

Outline

Background

Motive and purpose

Method

Conclusion

3

Background

Design errors are addressed by model checking tools. A model checking tool imports a model and several formal properties.

Those properties represent the essential behaviors which are usually documented by informal specification.

4

Motive and purpose

Mutation analysis measures the quality of the verification environment by running the tests on the mutant to see if the results of the mutant are different from the original one.

If no difference results exist, then the mutant is considered “live”. If one of the tests causes different results, then the mutant is considered “killed”.

5

Motive and purpose

We simplify the process of model checking by using a SAT-solver to solve the concatenation of the design M and a property P[i].

If the solver returns TRUE, we say M satisfies the property P[i]. Otherwise, we say M violates P[i].

6

Method

Step1: 依 序 讀 取 property_file 和mutation_file ,可得知需做組合的檔案名稱。(將讀出的檔名 string轉為 char才可使用 )

7

Method

Step2: 將 mutant 與 property 結合並調整為DIMACS CNF format,如圖二所示。 Literals and clauses may increase due to the concatenation. Append the clauses of P[i] to M.

8

Method

Step3: 將得到之 cnf檔當作 input file,讓外部程式 (SAT-solver)做呼叫使用。 system("./march_dl PM.cnf");

9

Method

Step4: 依據 Solver處理完的結果,將其處理結果寫入另一個檔案。

Step5: 讀取 Step4之結果,判斷此mutant是否為“ live” 。

10

Method

AlgorithmGet the mutant_num and property_num from the

mutantation_file and the property_file, respectively.

For each M[i], i is the quantity of the mutant.

For each P[j], j is the quantity of the property.

Combine the M and P to a file that satisfy the DIMACS CNF format, then put the file to the SAT-

solver “march_dl”.

If march_dl return “UNSATISFIABLE”, then break the loop.

Else return “SATISFIABLE” and display on the report.

11

Method

System flow

讀取 File內的結果並做判斷 File

讀取 property_file 和 mutation_file得到欲組合之檔案名稱

將檔案做組合並調整為DIMACS CNF format

CNF Solver

寫進Report

Discard

.CNF檔

結果

US

12

Conclusion

以官方提供之 Testcase1 為例: 測試檔輸出 (Test Output)

13

Conclusion

以官方提供之 Testcase1 為例: 結果分析 (Data Analysis)

14

Thanks for your listening.