5 Thực nghiệm
5.6 LTS của thành phần P
Chương 5.Thực nghiệm
Hình 5.7: LTS của thành phầnM1sinh ra bởi LTSA.
Hình 5.8: LTS của thành phầnM2sinh ra bởi LTSA.
Chương 5.Thực nghiệm
5.4 Đánh giá thực nghiệm
Luận văn đã sử dụng công cụ AGTool, LTSA để kiểm tra và so sánh kết quả của GUI-AGTool khi tiến hành thực nghiệm với các mẫu dữ liệu ở Bảng 5.1. Thực nghiệm đã thu được kết quả đúng như mong đợi. Xét về mặt ngữ nghĩa của LTS, các FSP được sinh ra đều khớp với dữ liệu dạng liệt kê tương ứng của nó. Giả định thu được ở dạng FSP tương ứng với kết quả thu được bởi công cụ AGTool. Kết quả này có ý nghĩa trong việc chứng minh rằng phương pháp mà luận văn đưa ra là đúng đắn. FSP được sinh ra bởi GUI-AGTool được sử dụng lại bởi LTSA có ý nghĩa quan trọng. Đặc tả của hệ thống và giả định sinh ra bởi GUI-AGTool có thể được kiểm chứng bởi công cụ LTSA thông qua việc sử dụng lại đặc tả của nhau.
Chương 6 Kết luận
Luận văn tập trung nghiên cứu công cụ AGTool hỗ trợ kiểm chứng dựa thành phần. Bằng phương pháp kiểm chứng dựa thành phần, thay vì kiểm chứng trên toàn bộ hệ thống thì các thành phần của hệ thống sẽ được kiểm chứng một các riêng biệt. Để thực hiện được phương pháp này, công cụ AGTool có nhiệm vụ hỗ trợ sinh ra giả định của hệ thống. Dựa trên những hiểu biết về công cụ này, luận văn nhận ra rằng AGTool còn có nhiều hạn chế cần được cải tiến. Nhằm giải quyết các vấn đề này, luận văn đã đề xuất hai phương pháp chuyển đổi giữa các dạng biểu diễn của LTS. Hai phương này đã mở ra tiểm năng ứng dụng rộng rãi AGTool trong công nghệ phần mềm và đưa AGTool trở thành công cụ có khả năng tương tác với công cụ kiểm chứng phần mềm khác có sử dụng ngôn ngữ FSP như LTSA. Phương pháp thứ nhất có chức năng chuyển đổi từ một FSP thành dạng LF. Phương pháp này sinh ra kết quả được sử dụng như dữ liệu đầu vào của AGTool. Giả định được sinh ra bởi AGTool sẽ được chuyển sang FSP bởi phương pháp thứ hai. Kết quả này có thể được sử dụng lại bởi các công cụ kiểm chứng khác như LTSA.
Với sự hỗ trợ của ocamllex và ocamlyacc, trong luận văn đã cài đặt thành
công hai phương pháp trên vào công cụ GUI-ATool. GUI-ATool là sự kế thừa và phát triển của AGTool. Công cụ này cũng là một phần nghiên cứu trong khóa
luận của sinh viên Vũ Hồng Long [9]. GUI-AGTool được cài đặt giao diện người
dùng, nên nó mang lại hiệu quả cao hơn trong công việc. Luận văn đã tiến hành thực nghiệm với các mẫu thử nghiệm và thu được kết quả đúng với mong đợi.
Tuy nhiên, hai phương pháp mà luận văn đưa ra chưa được kiểm thử một cách triệt để. Phương pháp chuyển đổi từ FSP sang dạng LF đã đặc tả một cách đầy đủ ngôn ngữ FSP tuy nhiên với các trường hợp xử lý đặc biệt thì chưa kiểm tra được tính đúng đắn. Phương pháp chuyển đổi từ dạng liệt kê sang cho ra kết quả thuộc tập con của ngôn ngữ FSP và chưa được tối ưu hóa.
Chương 6.Kết luận
Trong tương lai chúng tôi sẽ tiếp tục nghiên cứu và phát triển để khắc phục những vấn để tồn tại đã nêu trên. Với ý tưởng đã nếu trong luận văn, chúng tôi sẽ cải tiến dữ liệu đầu vào để có thể kiểm thử rộng hơn trên ngôn ngữ FSP và dữ liệu đầu ra sẽ được tối ưu hóa tốt hơn. Chúng tôi sẽ áp dụng các hệ thống có kích thước lớn hơn để chứng minh tính hiệu quả của công cụ đã được xây dựng.
Tài liệu tham khảo
[1] Paul C. Jorgensen. Software Testing: A Craftsman’s Approach, Fourth Edition. CRC Press, Inc., Boca Raton, FL, USA, 4th edition, 2013. ISBN 084937345X. [2] N. G. Leveson and C. S. Turner. An investigation of the therac-25 accidents.
Computer, 26:18–41, July 1993. ISSN 0018-9162. doi: 10.1109/MC.1993.
274940. URLhttp://portal.acm.org/citation.cfm?id=161477.161479.
[3] Jeff Magee and Jeff Kramer. Concurrency: State Models &Amp; Java Programs, 2nd Edition. John Wiley & Sons, Inc., New York, NY, USA, 2006. ISBN 978- 0-470-06462-7.
[4] Edmund M. Clarke and Bernd-Holger Schlingloff. Model checking, pages
1635–1790. Elsevier Science Publishers B. V., Amsterdam, The Netherlands,
The Netherlands, 2001. ISBN 0-444-50812-0. URLhttp://portal.acm.org/
citation.cfm?id=778522.778533.
[5] Dimitra Giannakopoulou, Corina S. Pasareanu, and Jamieson M. Cobleigh. Assume-guarantee verification of source code with design-level assump- tions. In Proceedings of the 26th International Conference on Software Engineer-
ing, ICSE ’04, pages 211–220, Washington, DC, USA, 2004. IEEE Computer
Society. ISBN 0-7695-2163-0. URLhttp://portal.acm.org/citation.cfm?
id=998675.999426.
[6] Dimitra Giannakopoulou and Corina S. Pasareanu. Learning-Based Assume-
Guarantee Verification (Tool Paper). Cambridge University Press, 2005.
[7] Pham Ngoc Hung, Viet-Ha Nguyen, Toshiaki Aoki, and Takuya Katayama.
Assume-guarantee tools for component-based software verification. InPro-
ceedings of the 2010 Second International Conference on Knowledge and Systems Engineering, KSE ’10, pages 172–177, Washington, DC, USA, 2010. IEEE Computer Society. ISBN 978-0-7695-4213-3. doi: http://dx.doi.org/10.
1109/KSE.2010.18. URLhttp://dx.doi.org/10.1109/KSE.2010.18.
[8] Jeff Magee and Jeff Kramer, 11 2013. URL http://www.doc.ic.ac.uk/
Chương 6.Kết luận
[9] Vũ Hồng Long. Xây dựng giao diện cho công cụ agtool. Khoá luận tốt nghiệp đại học, Trường Đại học Công nghệ, ĐHQGHN, 2011.
[10] Đậu Quốc Toản. Chuyển đổi giữa các phương pháp biểu diễn của lts và ứng dụng cho công cụ kiểm chứng phần mềm. Khoá luận tốt nghiệp đại học, Trường Đại học Công nghệ, ĐHQGHN, 2011.
[11] Robert M. Keller. Formal verification of parallel programs. Commun. ACM,
19:371–384, July 1976. ISSN 0001-0782. doi: http://doi.acm.org/10.1145/
360248.360251. URLhttp://doi.acm.org/10.1145/360248.360251.
[12] Jamieson M. Cobleigh, Dimitra Giannakopoulou, and Corina S. Păsăreanu.
Learning assumptions for compositional verification. In Proceedings of the
9th international conference on Tools and algorithms for the construction and anal- ysis of systems, TACAS’03, pages 331–346, Berlin, Heidelberg, 2003. Springer-
Verlag. ISBN 3-540-00898-5. URLhttp://portal.acm.org/citation.cfm?
id=1765871.1765903.
[13] Colin Blundell, Dimitra Giannakopoulou, and Corina S. Pˇasˇareanu.
Assume-guarantee testing. SIGSOFT Softw. Eng. Notes, 31, September 2005.
ISSN 0163-5948. doi: http://doi.acm.org/10.1145/1108768.1123060. URL
http://doi.acm.org/10.1145/1108768.1123060.
[14] Joshua B. Smith.Practical OCaml (Practical). Apress, Berkely, CA, USA, 2006. ISBN 159059620X.
[15] SooHyoung Oh. Ocamllex, 2004. URLhttp://plus.kaist.ac.kr/~shoh/
ocaml/ocamllex-ocamlyacc/ocamllex-tutorial/index.html.
[16] SooHyoung Oh. Ocamlyacc, 2004. URLhttp://plus.kaist.ac.kr/~shoh/
ocaml/ocamllex-ocamlyacc/ocamlyacc-tutorial/ocamlyacc-tutorial. html.