Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,19 MB
Nội dung
ĐẠ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 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. .. 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...ĐẠ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ã