Formal Property Qualification
Download
Report
Transcript Formal Property Qualification
1
971517蔡中皓
971547郭尚豪
971555紀羽軒
Outline
2
Background
Motive and purpose
Method
Conclusion
Background
3
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.
Motive and purpose
4
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”.
Motive and purpose
5
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].
Method
6
Step1: 依序讀取property_file和mutation_file,可
得知需做組合的檔案名稱。(將讀出的檔名string轉
為char才可使用)
Method
7
Step2: 將mutant與property結合並調整為DIMACS
CNF format,如圖二所示。
Literals and clauses may increase due to the concatenation.
Append the clauses of P[i] to M.
Method
8
Step3: 將得到之cnf檔當作input file,讓外部程式
(SAT-solver)做呼叫使用。
system("./march_dl PM.cnf");
Method
9
Step4: 依據Solver處理完的結果,將其處理結果寫
入另一個檔案。
Step5: 讀 取 Step4 之 結 果 , 判 斷 此 mutant 是 否 為
“live” 。
Method
10
Algorithm
Get 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 SATsolver “march_dl”.
If march_dl return “UNSATISFIABLE”, then break the loop.
Else return “SATISFIABLE” and display on the report.
Method
11
System flow
讀取property_file 和mutation_file
得到欲組合之檔案名稱
將檔案做組合並調整為
DIMACS CNF format
.CNF檔
CNF Solver
讀取File內的結果
並做判斷
S
U
寫進
Report
Discard
結果
File
Conclusion
12
以官方提供之Testcase1為例:
測試檔輸出 (Test Output)
Conclusion
13
以官方提供之Testcase1為例:
結果分析 (Data Analysis)
Thanks for your listening.
14