PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI các RÀNG BUỘC KHÔNG TUYẾN TÍNH

65 252 0
PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI các RÀNG BUỘC KHÔNG TUYẾN TÍNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN QUÂN PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI CÁC RÀNG BUỘC KHÔNG TUYẾN TÍNH LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN QUÂN PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG GIẢI CÁC RÀNG BUỘC KHÔNG TUYẾN TÍNH Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TÔ VĂN KHÁNH Hà Nội – 2016 LỜI CAM ĐOAN Tôi xin cam đoan rằng, luận văn thạc sĩ công nghệ thông tin “Phương pháp tính toán khoảng giải ràng buộc không tuyến tính.” sản phẩm nghiên cứu riêng cá nhân giúp đỡ lớn Giảng viên hướng dẫn TS Tô Văn Khánh, không chép lại người khác Những điều trình bày toàn nội dung luận văn cá nhân tôi, tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có nguồn gốc rõ ràng trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà nội, tháng 10 năm 2016 Học viên Nguyễn Văn Quân LỜI CẢM ƠN Trước tiên xin bày tỏ lòng biết ơn chân thành sâu sắc đến thầy giáo, TS Tô Văn Khánh - người dành nhiều tâm huyết, tận tình bảo giúp đỡ suốt trình bắt đầu thực đề tài hoàn thành đề tài Tôi xin gửi lời cảm ơn chân thành tới thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội - nơi theo học thời gian qua Các thầy cô cung cấp cho kiến thức quý báu, tạo điều kiện tốt cho suốt trình học tập nghiên cứu trường Cuối xin chân thành cảm ơn người thân gia đình, đặc biệt bố mẹ nguồn động viên ủng hộ Xin cảm ơn bạn bè khóa, đồng nghiệp quan giúp đỡ trình học tập nghiên cứu thực luận văn Tuy rằng, cố gắng trình làm luận văn tránh khỏi thiếu sót, mong nhận góp ý thầy cô bạn Hà nội, tháng 11 năm 2016 Học viên Nguyễn Văn Quân MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG MỞ ĐẦU Chương GIỚI THIỆU .3 1.1 Giải ràng buộc đa thức 1.2 Ứng dụng giải ràng buộc đa thức .4 1.3 Các SMT giải ràng buộc toán học Chương PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG .7 2.1 Giới thiệu phương pháp tính toán khoảng 2.2 Phương pháp tính toán khoảng CI 2.3 Phương pháp tính toán khoảng Affine Interval 10 2.3.1 Dạng AF 11 2.3.2 Dạng AF1 13 2.3.2 Dạng AF2 15 2.4 Phương pháp tính toán khoảng C AI 18 Chương SMT SOLVER VÀ SMT SOLVER raSAT 23 3.1 SAT Solver 23 3.2 SMT Solver 24 3.3 Thủ tục DPLL .26 3.3.1 Thủ tục DPLL cho SAT 26 3.3.1 Thủ tục DPLL cho SMT 30 3.4 SMT Solver raSAT .32 Chương CẢI TIẾN KỸ THUẬT KIỂM THỬ TRÊN SMT SOLVER raSAT 41 4.1 Kiểm thử raSAT 41 4.2 Kiểm thử cặp đôi 45 4.3 Kiểm thử cặp đôi raSAT .47 4.4 Thực nghiệm 49 4.4.1 Kết raSAT thi SMT – COMP .49 4.4.2 raSAT 0.2 .50 4.4.3 Benchmarks 50 4.4.4 Kết thực nghiệm 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT Thuật ngữ đầy đủ Thuật ngữ viết tắt SAT Satisfiability SMT Satisfiability Modulo Theories DPLL Davis Putnam Logemann Loveland CNF Conjunctive Normal Form CA Classical Interval AI Affine Interval AF Affine Form AF1 Affine Form1 AF2 Affine Form2 10 CAI Chebyshev Approximation Interval 11 IA Interval Arithmetic 12 PID Proportional Integral Derivative 13 QE-CAD 14 CAD Cylindrical algebraic decomposition 15 RAHD Real Algebra in High Dimensions 16 ICP Interval constraint propagation 17 VS Virtual substitution 18 APC Atomic polynomial constraint 19 ICC Interval constraint contraction Quantifier elimination - Cylindrical Algebraic Decomposition DANH MỤC HÌNH VẼ STT Số hiệu Tên hình vẽ Hình Đồ thị biểu diễn giá trị xấp xỉ Chebyshev x x|x| Hình Mô hình giải vấn đề SAT Hình Phương pháp “Eager approach” Hình Phương pháp “Lazy approach” Hình Sơ đồ chế hoạt động thủ tục DPLL Hình Kết ràng buộc đa thức Hình Kết kiểm thử ràng buộc đa thức Hình Kiến trúc SMT Solver raSat Hình Kết kiểm thử ràng buộc đa thức 10 Hình 10 Kiểm thử SMT Solver raSat DANH MỤC BẢNG STT Số hiệu Tên bảng Bảng Chọn giá trị cho biến khoảng dựa vào hệ số ưu tiên Bảng Bảng giá trị đầu vào biến Bảng Các ca kiểm thử sử dụng kỹ thuật kiểm thử cặp đôi Bảng Các ca kiểm thử cặp đôi biến đầu vào Bảng Các ca kiểm thử cặp đôi thêm giá trị biến thứ ba Bảng Các ca kiểm thử cặp đôi ba biến lặp theo chiều dọc Bảng Các ca kiểm thử cặp đôi ba biến lặp theo chiều ngang Bảng Bảng Kết raSAT 0.1 thi SMT - COMP 2014 10 Bảng 10 Kết raSAT 0.2 thi SMT - COMP 2015 11 Bảng 11 Kết raSAT 0.3 0.4 thi SMT - COMP 2016 12 Bảng 12 Bảng so sánh raSAT 0.2 raSAT áp dụng kiểm thử cặp đôi Kết thực nghiệm raSAT 0.2 raSAT0.2 – Pairwise testing MỞ ĐẦU Với phát triển công nghệ thông tin sản phẩm phần mềm xây dựng với yêu cầu khắt khe chất lượng độ tin cậy Đặc biệt hệ thống ứng dụng ngành công nghệ cao hàng không, vận tải, y tế cần độ tin cậy xác cao Bởi sai sót nhỏ hệ thống gây tổn thất to lớn tính mạng người thiệt hại kinh tế Với nhu cầu công cụ kiểm thử kiểm chứng tự động đời giúp nhà phát triển đảm bảo độ tin cậy giảm chi phí sản xuất phần mềm Hiện nhiều kỹ thuật nghiên cứu sử dụng để đảm bảo chất lượng phần mềm Hai kỹ thuật truyền thống sử dụng để đảm bảo chất lượng phần mềm kiểm thử phần mềm (Software testing) kiểm chứng phần mềm (Software verification) Tuy nhiên việc sử dụng phương pháp kiểm thử làm giảm bớt lỗi hệ thống mà kết luận hệ thống lỗi Các phương pháp kiểm chứng quan tâm số việc chứng minh tính đắn hệ thống Hiện hướng nghiên cứu SMT solver quan tâm rộng rãi chúng đóng vai trò quan trọng toán kiểm chứng phần mềm SMT solver đóng vai trò công cụ (backend engine) công cụ kiểm chứng phần mềm Các toán kiểm chứng đưa giải tính thỏa mãn (SAT/UNSAT) công thức logic công cụ SMT solver Giải ràng buộc đa thức toán học (Polynomial constraint) ứng dụng nhiều phân tích hệ thống, kiểm chứng phần cứng phần mềm, cụ thể chứng minh tính bất biến chương trình phân tích kết hệ thống Tất ứng dụng cần tự động cần có công cụ để hỗ trợ để giải toán Giải ràng buộc đa thức toán học đưa kết luận ràng buộc SAT UNSAT Kết kiểm thử ràng buộc đa thức P mô tả hình dưới: Ca kiểm thử SAT Ca kiểm thử UNSAT f ( x1 , x2 , , xn )  r r Test-UNSAT r Test-SAT Hình 9: Kết kiểm thử ràng buộc đa thức Như bước kiểm thử dừng lại kết Test-SAT kết luận SAT Ngược lại kết Test-UNSAT raSat sử dụng Domain Decomposition để phân rã dải giá trị thành dải giá trị nhỏ tiếp tục kiểm thử giải giá trị Hình 10: Kiểm thử SMT Solver raSat [29] 42 Tuy nhiên để thử tất giá trị dải giá trị điều Do cần có chiến lược chọn giá trị kiểm thử cho biến hiệu thay thử tất giá trị Số lượng ca kiểm thử ảnh hưởng lớn hiệu raSAT Cụ thể với ràng buộc cần giải SAT chọn số lượng ca kiểm thử dẫn đến bỏ qua giá trị SAT Ngược lại với ràng buộc cần giải UNSAT chọn số ca kiểm thử nhiều dẫn đến nhiều thời gian raSAT chọn tối đa 210 ca kiểm thử raSAT chọn 10 biến có mức độ ảnh hướng tới kết luật kinh ngiệm (heuristic) để chọn hai giá trị ngẫu nhiên, biến lại chọn giá trị ngẫu nhiên Sau thực sinh ca kiểm thử phương pháp tổ hợp raSAT sử dụng phương pháp kiểm thử bước (test - inrementally) để tăng hiệu Với kiểm thử thông thường sinh ca kiểm thử sau thực kiểm thử ca kiểm thử Tuy nhiên trường hợp kết cho SAT ca kiểm thử ca kiểm thử phía sau sinh không cần thiết Trong kiểm thử bước (test - inrementally) không sinh tất ca kiểm thử lúc mà thực sau sinh ca kiểm thử thực kiểm thử Nếu kết kiểm thử SAT dừng kiểm thử, ngược lại kết UNSAT sinh ca kiểm thử tiếp tục thực kiểm thử tương tự Như kiểm thử bước giúp tăng hiệu kiểm thử raSAT raSAT sử dụng luận kinh nghiệm (heuristic) cho phép chọn 10 biến có mức độ ảnh hưởng tới kết để chọn ngẫu nhiên hai giá trị Và chọn nguyên tử đa thức (APC) có khả SAT (SAT-likelihood) lớn để giải trước Phương pháp tính toán khoảng giúp đánh giá khoảng giá trị đa thức g giải giá trị B biến đổi đa thứ dạng [𝑐1 , 𝑑1 ]ɛ1 + ⋯ + [𝑐𝑛 , 𝑑𝑛 ]ɛ𝑛 với ɛ𝑖 = [−1,1] kĩ thuật AF2 giới thiệu chương 43 Định nghĩa 4.1.1: Khả SAT (SAT-likelihood) APC g giải giá trị B ◇0 với ◇= { > , ≥ , < , ≤ , = , ≠ } tính công thức sau |ICC(g ◇ , G(B)| |G(B)| Trong ICC (interval constraint contraction), ICC (g ◇ , I) khoảng nhỏ 𝐼′ tính {𝑟 ∈ 𝐼 , 𝑟 ◇ 0} ⊆ 𝐼′ Ví dụ: ICC(g > 0, [−2, 5] ) = [0, 5] ICC(g > 0, [2, 5] ) = [2, 5] ICC(g > 0, [−2,−5] ) = ∅ Định nghĩa 4.1.2: Hệ số ưu tiên (sensitivity) biến 𝑥𝑖 đa thức g tính max(|𝑑𝑖 | , |𝑐𝑖 |) Ví dụ: g(x1 , x2 ) = x1 − 2x1 x2 , x1 = [0,2] = + ɛ1 , x2 = [1,3] = + ɛ2 Sử dụng kĩ thuật AF2 g(x1 , x2 ) = −3 − ɛ1 − 2ɛ2 + 3ɛ+ + 3ɛ± = [−9 ,6 ] Khả SAT g(x1 , x2 ) > −(−6) = 0.4 hệ số ưu tiên biến x1 = x2 = Ngoài chọn giá trị cho biến 𝑥𝑖 khoảng giá trị để sinh ca kiểm thử dựa hệ số biến 𝑥𝑖 thực chọn giá trị theo bảng sau : Hệ số biến 𝑥𝑖 g i > , g i ≥ gi < , gi ≤ gi = -1 Cận Cận Ngẫu nhiên Cận Cận Ngẫu nhiên Ngẫu nhiên Ngẫu nhiên Ngẫu nhiên Bảng 1: Chọn giá trị cho biến khoảng dựa vào hệ số ưu tiên Ví dụ: g(x1 , x2 ) = x1 − 2x1 x2 , x1 = [0,2] = + ɛ1 , x2 = [1,3] = + ɛ2 Sử dụng kĩ thuật AF2 g(x1 , x2 ) = −3 − ɛ1 − 2ɛ2 + 3ɛ+ + 3ɛ± Hệ số x1 = −1 Với g > theo bảng x1 = 44 4.2 Kiểm thử cặp đôi Kiểm thử cặp đôi (pairwise testing) [30] trường hợp đặc biệt kiểm thử tất tổ hợp đầu vào Kiểm thử cặp đôi yêu cầu cặp giá trị ( xi , xj ), ≤ i ≠ i ≤ n xuất ca kiểm thử Một ca kiểm thử thường có nhiều cặp giá trị với i, j khác nên dễ thấy số lượng ca kiểm thử giảm đáng kể so với tổ hợp tất ca kiểm thử Kiểm thử cặp đôi ứng dụng nhiều trình đảm bảo chất lượng phần mềm Với dự án phần mềm chi phí cho việc đảm bảo chất lượng thường chiếm 50% chi phí dự án Do kiểm thử cặp đôi sử dụng việc đảm bảo chất lượng phần mềm với chi phí hợp lý Lý sử dụng kĩ thuật kiểm thử cặp đôi:  Nguyên nhân lỗi phần mềm thường sảy kết hợp hai đầu vào Kiểm thử cặp đôi đảm bảo 92% độ phủ source code, 85% bao phủ định  Không cần kiểm thử tổ hợp tất đầu vào hệ thống Với hệ thống có m đầu vào với đầu vào có n giá trị Như cần m×n trường hợp cần kiểm thử Với hệ thống có số lượng đầu vào lớn kiểm thử tổ hợp tốn nhiều chi phí  Sử dụng kiểm thử tổ hợp sảy nhiều ca kiểm thử phát lỗi, việc gây lãng phí ca kiểm thử Hạn chế kiểm thử tổ hợp khắc khục kĩ thuật kiểm thử cặp đôi Ví dụ: Với hệ thống có đầu vào A, B, C, D với đầu vào có giá trị sau: A B C D A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 Bảng 2: Bảng giá trị đầu vào biến 45 Nếu sử dụng kiểm thử tổ hợp cần số lượng test case là: 3×3×3×3 =81 ca kiểm thử Trong sử dụng kĩ thuật kiểm thử cặp đôi số lượng ca kiểm thử giảm ca kiểm thử bảng dưới: TC A B C D A1 B1 C1 D1 A1 B2 C2 D2 A1 B3 C3 D3 A2 B1 C2 D3 A2 B3 C1 D2 A2 B2 C3 D1 A3 B1 C3 D2 A3 B2 C1 D3 A3 B3 C2 D1 Bảng 3: Các ca kiểm thử sử dụng kỹ thuật kiểm thử cặp đôi Cách sinh ma trận trực giao để sinh ca kiểm thử cho kĩ thuật kiểm thử cặp đôi Giả sử đầu vào có biến A, B, C, D dưới:  A: A1 , A2  B: B1 , B2  C: C1 , C2 ,C3 Bước 1: Sinh ca kiểm thử cho hai biến đầu vào A, B TC A A1 A1 A2 A2 B B1 B2 B1 B2 Bảng 4: Các ca kiểm thử cặp đôi biến đầu vào Bước 2: Thực lặp từ đầu vào thứ C Bước 2.1: Lặp theo chiều dọc Thêm cột điền giá trị C (C1, C2, C3) 46 TC A A1 A1 A2 A2 B B1 B2 B1 B2 C C1 C2 C3 Bảng 5: Các ca kiểm thử cặp đôi thêm giá trị biến thứ ba Các cặp nhiếu gồm (A2, C1) ,(A2 ,C2) , (A1 ,C3) ,(B1 ,C2) ,(B2 ,C1) ,(B2 C3).Xét trường hợp đầu vào C  Nếu thêm C1 số cặp thiếu  Nếu thêm C2 số cặp thiếu  Nếu thêm C3 số cặp thiếu  Chọn C1 ma trận : TC A A1 A1 A2 A2 B B1 B2 B1 B2 C C1 C2 C3 C1 Bảng 6: Các ca kiểm thử cặp đôi ba biến lặp theo chiều dọc Bước 2.2: Lặp theo chiều ngang Các cặp thiếu gồm (A2,C2) , (A1,C3) ,(B1,C2) ,(B2,C3) Lần lượt sinh test case cho cặp thiếu dưới: TC 5 A A1 A1 A2 A2 A2 A1 B B1 B2 B1 B2 B1 B2 C C1 C2 C3 C1 C2 C3 Bảng 7: Các ca kiểm thử cặp đôi ba biến lặp theo chiều ngang 4.3 Kiểm thử cặp đôi raSAT raSAT cho phép chọn tối đa hai giá trị cho biến để sinh ca kiểm thử Nguyên nhân lựa chọn nhiều giá trị ảnh hưởng tới hiệu 47 raSAT Do cải tiến raSAT cách áp dụng kĩ thuật kiểm thử cặp đôi cho biến ràng buộc để sinh kiểm thử Với kĩ thuật kiểm thử cặp đôi sinh số lượng ca kiểm thử không lớn mà cho phép chọn nhiều giá trị cho biến Khi raSAT cho phép chọn nhiều giá trị cho biến khả tìm giá trị SAT tăng lên Cụ thể cách áp dụng kĩ thuật kiểm thử cặp đôi vào raSAT sau:  Áp dụng sinh kiểm thử kĩ thuật kiểm thử cặp đôi cho biến ràng buộc  Với biến chọn ngẫu nhiên ca kiểm thử khoảng giá trị khác dải giá trị biến Ví dụ x1 = [−10,10] chọn ngẫu nhiên ca kiểm thử khoảng gồm [−10, −5] , [−4, 0] , [1, 5] [6,10]  Kiểm thử cặp đôi giữ nguyên cách chọn APC theo khả SAT, độ ưu tiên biến kiểm thử bước (test - inrementally) mục 4.2 trình bày Bảng so sánh raSAT 0.2 raSAT áp dụng kiểm thử cặp đôi : raSAT 0.2  Chọn ngẫu nhiên giá trị cho 10 raSAT 0.2 + Kiểm thử cặp đôi (Pairwise testing)  Chọn ngẫu nhiên giá trị cho tất biến  Sinh ca kiểm thử theo kĩ thuật kiểm thử cắp đôi biến  Và chọn ngẫu nhiên giá trị cho biến lại  Thực kiểm thử tổ hợp  Thực kiểm thử theo ca kiểm thử cặp đôi  Ưu điểm :  Mỗi cặp giá trị xuất tất ca kiểm thử  Tăng số lượng giá trị chọn từ 1, lên  Số lượng ca kiểm thử không lớn Bảng 8: Bảng so sánh raSAT 0.2 raSAT áp dụng kiểm thử cặp đôi 48 4.4 Thực nghiệm 4.4.1 Kết raSAT thi SMT – COMP raSAT tham gia thi SMT – COMP 2014, 2015 2016 Đây thi SMT Solver toàn giới Trong phần luận văn giới thiệu kết raSAT thi SMT – COMP  Kết raSAT 0.1 thi SMT - COMP 2014 : http://smtcomp.sourceforge.net/2014/resultsQF_NRA.shtml?v=1403902163 Bảng 9: Kết raSAT 0.1 thi SMT - COMP 2014  Kết raSAT 0.2 thi SMT - COMP 2015 : http://smtcomp.sourceforge.net/2015/results-QF_NRA.shtml?v=1446209369 Bảng 10: Kết raSAT 0.2 thi SMT - COMP 2015 49  Kết raSAT 0.3 0.4 thi SMT - COMP 2016 : http://smtcomp.sourceforge.net/2016/results-QF_NRA.shtml?v=1467876482 Bảng 11: Kết raSAT 0.3 0.4 thi SMT - COMP 2016 Trong raSAT 0.4 gồm chạy song song raSAT 0.2 raSAT 0.3 4.4.2 raSAT 0.2  raSAT 0.2 phiên thứ hai raSAT phát hành vào 06/2015  raSAT sử dụng hai ngôn ngữ để phát triển gồm C++ Ocaml sử dụng kết hợp với MiniSat2.2  raSAT giải toán dạng QF_NRA QF_NIA định dạng SMTLIB (.smt 2)  Môi trường phát triển: iRRAM, make, automake, gcc, ocaml, zlib, curses hệ điều hành 64 bit systems (cygwin 64 bit, linux systems) 4.4.3 Benchmarks SMT Benchmark toán định dạng SMT-LIB (.smt 2) đầu vào SMT Solver xây dựng cộng đồng SMT Hiện có bốn SMT Benchmark gồm :  SMT- LIB 2013 -03-07  SMT- LIB 2014 -06-03  SMT- LIB 2015 -06-01 50  SMT- LIB 2016 -05-23 Các SMT Benchmark tải địa chỉ: https://www.starexec.org 4.4.4 Kết thực nghiệm Để đánh giá hiệu kĩ thuật kiểm kiểm thử cặp đôi raSAT, thực thực nghiệm raSAT 0.2 raSAT0.2 – Pairwise testing ràng buộc “SMT- LIB 2015 -06-01” tải địa sau : http://smtcomp.sourceforge.net/2015/benchmarks.shtml Với thông số môi trường sau :  Timeout 2500s  Bộ vi xử lý Intel Xeon E5-4655v3  Ram 8GB Kết thực nghiệm raSAT 0.2 raSAT0.2 – Pairwise testing sau : STT Loại ràng buộc zankl (SAT) zankl (UNSAT) meti-tarski (SAT) meti-tarski (UNSAT) hong (SAT) hong (UNSAT) LassoRanker (SAT) LassoRanker (UNSAT) 10 11 12 kissing (SAT) kissing (UNSAT) hycomp (SAT) hycomp (UNSAT) Total Time(s) raSAT0.2 – Pairwise testing raSAT 0.2 33 12 4801 1772 45 41 14 4597 1750 5 0 17 128 1724 8536 7500302.763 12 1720 8150 8562351.838 Bảng 12: Kết thực nghiệm raSAT 0.2 raSAT0.2 – Pairwise testing 51 Nhận xét: Số lượng toán raSAT giải tăng lên 386 Đặc biệt với loại ràng buộc meti-tarski số lượng ràng buộc SAT tăng lên lớn (204 bài) hay loại hycomp (SAT) tăng lên 122 Tuy nhiên với loại ràng buộc có số lượng biến lớn zankl số lượng giải bị giảm (10 bài) nguyên nhân tốn nhiều thời gian cho testing dẫn đến thời gian cho phân rã khoảng Về mặt thời gian raSAT cải thiện 1062049.075(giây) = 17,500(phút), tức cải thiệu 12.4% mặt thời gian Như xét tổng thể raSAT áp dụng kiểm thử cặp đôi cải thiệt hai tiêu chí gồm tăng số lượng toán giải giảm tổng thời gian cho tất loại ràng buộc 52 KẾT LUẬN Giải ràng buộc đa thức toán học (Polynomial constraint) ứng dụng nhiều phân tích hệ thống, kiểm chứng phần cứng phần mềm, cụ thể chứng minh tính bất biến chương trình phân tích kết hệ thống Tất ứng dụng cần tự động cần có công cụ để hỗ trợ để giải toán Luận văn nghiên cứu trình bày kỹ thuật giải ràng buộc phi tuyến tính (non-linear constraints) phương pháp tính toán xấp xỉ (approximation methods) Cụ thể luận văn nghiên cứu trình bày phương pháp tính toán khoảng (Interval Arithmetic) để giải ràng buộc phi tuyến tính Ngoài luận văn trình bày kiến trúc kỹ thuật áp dụng SMT Solver raSAT Một công cụ giải tự động ràng buộc toán học tập số thực số nguyên dựa phương pháp tính toán khoảng kiểm thử Luận văn đề xuất áp dụng phương pháp kiểm thử cặp đôi (pairwise testing) thực kiểm thử tăng dần (test - inrementally) vào bước kiểm thử raSAT để cải thiện hiệu Kết đạt tốt mục tiêu ban đầu luận văn Cụ thể kết đạt sau:  Cải thiện số lượng toán giải thời gian Cụ thể giải nhiều 386 toán với thời gian cải thiện khoảng 12.4% (17,500 phút)  Mở phương pháp cải tiến raSAT ràng buộc có số biến lớn Hiện với ràng buộc có số biến lớn thách thức SMT Solver mạnh Z3… Hiện kiểm thử cặp đôi giải vấn đề chọn nhiều giá trị cho biến chưa tìm cách tìm giá trị SAT nhanh Trong tương lai nghiên cứu tìm chiến lược chọn giá trị cho biến để tìm giá trị SAT nhanh Ngoài raSAT giải cho ràng buộc bất đẳng thức, tương lai nghiên cứu để giải cho ràng buộc đa thức đẳng thức ứng dụng raSAT vào kiểm chứng phần mềm 53 TÀI LIỆU THAM KHẢO [1] Borralleras, C., Lucas, S., Navarro-Marset, R., Rodr´ ıguez-Carbonell, E., and Rubio, A Solving non-linear polynomial arithmetic via sat modulo linear arithmetic In Proceedings of the 22nd International Conference on Automated Deduction (2009), CADE-22, Springer-Verlag, pp 294–305 [2] Bryant, R E., Kroening, D., Ouaknine, J., Seshia, S A., Strichman, O., and Brady, B Deciding bit-vector arithmetic with abstraction In Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems (2007), TACAS’07, Springer-Verlag, pp 358–372 [3] Đỗ Thị Bích Ngọc and Mizuhito Ogawa, Overflow and roundoff error analysis via model checking, Proceedings of the IEEE/ACM international conference on software engineering and formal methods SEFM ’09, IEEE computer society, 2009, pp 105-114 [4] Franzle, M., Herde, C., Teige, T., Ratschan, S., and Schubert, T Effi-cient solving of large non-linear arithmetic constraint systems with complex booleanstructure Journal on Satisfiability, Boolean Modeling and Computation (2007), 209–236 [5] Franzle, M., Herde, C., Teige, T., Ratschan, S., and Schubert, T Effi-cient solving of large non-linear arithmetic constraint systems with complex booleanstructure Journal on Satisfiability, Boolean Modeling and Computation (2007), 209–236 [6] Ganai, M., and Ivancic, F Efficient decision procedure for non-linear arithmetic constraints using cordic In Formal Methods in Computer-Aided Design, 2009 FMCAD 2009 (2009), pp 61 –68 [7] Harald Ganzinger, George Hagen, Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli DPLL(T): Fast Decision Procedures ,16th International Conference on Computer Aided Verification (CAV), July 2004, Boston (USA) [8] Microsoft Z3 [9] Miquel Bofill, Robert Nieuwenhuis, Albert Oliveras, Enric RodríguezCarbonell Albert Rubio The Barcelogic SMT Solver, 20th International Conference on Computer Aided Verification (CAV), July 2008, Princeton (USA) 54 [10] A Blass and Y Gurevich Pairwise Testing, Bulletin of the European Association for Theoretical Computer Science Number 78, October 2002, 100 132 [11] Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsch IOS Press (2008), Handbook of Satisfiability, Dimitris Achlioptas [12] Comba, J L D., and Stolfi, J Affine arithmetic and its applications to computer graphics In Proceedings of VI SIBGRAPI (1993) [13] Corzilius, F., and ´ Abrah´ am, E Virtual substitution for SMT- solving In Pro-ceedings of the 18th international conference on Fundamentals of computation theory (2011), FCT’11, Springer-Verlag, pp 360–371 [14] Cristina Borralleras, Salvador Lucas, Albert Oliveras, Enric RodríguezCarbonell, Albert Rubio SAT Modulo Linear Arithmetic for Solving Polynomial Constraints [15] H Anai, Algebraic Methods for solving real polynomial constraints and their applications in biology, Algebraic biology computer algebra in biology, 2005, pp 139-147 [16]J Czerwonka Pairwise Testing in Real World, Proceedings of 24th Pacific Northwest Software Quality Conference, 2006 [17] Messine, F Extensions of affine arithmetic: Application to unconstrained globaloptimization Journal of Universal Computer Science 8, (2002) [18] Nieuwenhuis, R., Oliveras ,Tinelli (2005), Abstract DPLL and abstract DPLL modulo theories In Logic for Programming, Articial Intelligence, and Reasoning, F Baader and A Voronkov, Eds., vol 3452 of Lecture Notes in Computer Science Springer-Verlag [19] Passmore, G O., and Jackson, P B Combined decision techniques for theexistential theory of the reals In Proceedings of the 16th Symposium, 8th Interna-tional Conference Held as Part of CICM ’09 on Intelligent Computer Mathematics (2009), Calculemus ’09/MKM ’09, Springer-Verlag, pp 122–137 [20] R.E Moore , Interval Analysis Prentice-Hall, 1966 [21] Ratschan, S Efficient solving of quantified inequality constraints over the realnumbers ACM Trans Comput Logic 7, (Oct 2006), 723–748 55 [22] Robert Nieuwenhuis, Albert Oliveras, Cesare Tinelli Abstract DPLL and Abstract DPLL Modulo Theories, 11th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR) March 2005, Montevideo (Uruguay) [23] S Lucas and R Navarro-Marset, Comparing CSP and SAT solvers for polynomial constraints in termination provers, Notes theory computer science, 2008, pp 75-90 [24] Stolfi, Figueiredo An Introduction to Affine Arithmetic [25] Stolfi, J Self-Validated Numerical Methods and Applications PhD thesis, PhD Dissertation, Computer Science Department, Stanford University, 1997 [26] Tô Văn Khánh and Mizuhito Ogawa, raSAT: SMT for Polynomial Inequality, Technical report School of Information Science Japan Advance Institute of Science and Technology, 2013 [27] Tô Văn Khánh and Mizuhito Ogawa, SMT for polynomial constraints on real numbers, Notes theory computer science, 2012, pp 27-40 [28] Tô Văn Khánh, SMT for Polynomial Constraints and Its Applications, PHD thesis, School of Information Science Japan Advance Institute of Science and Technology, 2013 [29] Vu Xuan Tung, To Van Khanh, Mizuhito Ogawa raSAT: An SMT Solver for Polynomial Constraints, International Joint Conference on Automated Reasoning 2016 IJCAR 2016: Volume 9706 Pages 228-237 [30] Y.Lei and K.C.Tai In-parameter-order: a test generation strategy for pairwise testing Proceedings Third IEEE Intl High-Assurance Systems Engineering Symp., 1998, pp 254-261 56 ... 1.3 Các SMT giải ràng buộc toán học Chương PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG .7 2.1 Giới thiệu phương pháp tính toán khoảng 2.2 Phương pháp tính toán khoảng CI 2.3 Phương. .. phương pháp gồm SMT-RAT [13], Z3 [8] Trong Z3 công cụ kết hợp hai phương pháp VS ICP để giải ràng buộc tuyến tính Chương PHƯƠNG PHÁP TÍNH TOÁN KHOẢNG 2.1 Giới thiệu phương pháp tính toán khoảng. .. để giải toán Giải ràng buộc đa thức toán học đưa kết luận ràng buộc SAT UNSAT Ở luận văn tập trung nghiên cứu kỹ thuật giải ràng buộc phi tuyến tính (non-linear constraints) phương pháp tính toán

Ngày đăng: 19/06/2017, 20:45

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan