### 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，可

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

DIMACS CNF format
.CNF檔
CNF Solver

S
U

Report

File
Conclusion
12
 以官方提供之Testcase1為例：
 測試檔輸出 (Test Output)
Conclusion
13
 以官方提供之Testcase1為例：
 結果分析 (Data Analysis)