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