140 likes | 249 Views
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.
E N D
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. Those properties represent the essential behaviors which are usually documented by informal specification.
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”.
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].
Method Step1: 依序讀取property_file和mutation_file,可得知需做組合的檔案名稱。(將讀出的檔名string轉為char才可使用)
Method • Step2: 將mutant與property結合並調整為DIMACS CNF format,如圖二所示。 • Literals and clauses may increase due to the concatenation. • Append the clauses of P[i] to M.
Method • Step3: 將得到之cnf檔當作inputfile,讓外部程式(SAT-solver)做呼叫使用。 • system("./march_dlPM.cnf");
Method Step4: 依據Solver處理完的結果,將其處理結果寫入另一個檔案。 Step5: 讀取Step4之結果,判斷此mutant是否為“live”。
Method Algorithm Get the mutant_num and property_num from the mutantation_fileand the property_file,respectively. Foreach M[i], i is the quantity of the mutant. Foreach 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.
Method System flow 讀取property_file和mutation_file 得到欲組合之檔案名稱 將檔案做組合並調整為 DIMACSCNFformat .CNF檔 CNFSolver 結果 File 讀取File內的結果 並做判斷 S U 寫進Report Discard
Conclusion • 以官方提供之Testcase1為例: • 測試檔輸出 (Test Output)
Conclusion • 以官方提供之Testcase1為例: • 結果分析 (Data Analysis)