Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
7,9 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đậu Quốc Toản NGHIÊN CỨU KHẢ NĂNG CHUYỂN ĐỔI GIỮA CÁC ĐẶC TẢ HÌNH THỨC VÀ ỨNG DỤNG TRONG KIỂM CHỨNG PHẦN MỀM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI-2015 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đậu Quốc Toản NGHIÊN CỨU KHẢ NĂNG CHUYỂN ĐỔI GIỮA CÁC ĐẶC TẢ HÌNH THỨC VÀ ỨNG DỤNG TRONG KIỂM CHỨNG PHẦN MỀM 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: TIẾN SĨ PHẠM NGỌC HÙNG HÀ NỘI-2015 TIEU LUAN MOI download : skknchat@gmail.com Lời cảm ơn Trước tiên, muốn gửi lời cảm ơn sâu sắc đến thầy giáo, TS Phạm Ngọc Hùng, người tận tình bảo hướng dẫn tơi suốt q trình học tập, nghiên cứu thực luận văn tốt nghiệp Tôi xin bày tỏ lời cảm ơn sâu sắc đến thầy cô giáo giảng dạy hai năm qua, tạo cho điều kiện thuận lợi để học tập nghiên cứu trường Đại Học Công Nghệ Tôi xin chân thành cảm ơn GS Jeff Magee - Trưởng khoa Kỹ Thuật, trường đại học Hoàng Gia London, tác giả sách "Concurrency - state models and Java programs (2 ed.)" Giáo sư nhiệt tình giải đáp vấn đề mà gặp phải trình thực luận văn Xin gửi lời cảm ơn tới bạn Nguyễn Bảo Ngọc, người giúp đỡ vấn đề kỹ thuật liên quan tới luận văn vấn đề khác sống Tôi muốn gửi lời cảm ơn sâu sắc đến gia đình tất bạn bè, người ln kịp thời động viên giúp đỡ vượt qua khó khăn sống Cuối cùng, tơi xin gửi lời cảm ơn chân thành tới phịng thí nghiệm cơng nghệ phần mềm Toshiba Phịng thí nghiệm tạo điều kiện cho tơi có khơng gian để nghiên cứu trao đổi với bạn bè Tôi xin chân thành cảm ơn ! Hà Nội, 28 tháng 05 năm 2015 Học viên Đậu Quốc Toản iii TIEU LUAN MOI download : skknchat@gmail.com Lời cam đoan Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng tơi Các số liệu, kết trình bày luận văn hoàn toàn trung thực chưa cơng bố cơng trình khác Tơi trích dẫn đầy đủ tài liệu tham khảo, cơng trình nghiên cứu liên quan nước quốc tế Ngoại trừ tài liệu tham khảo này, luận văn hồn tồn cơng việc riêng Hà Nội, 28 tháng năm 2015 Học viên Đậu Quốc Toản iv TIEU LUAN MOI download : skknchat@gmail.com Tóm tắt Assume-Guarantee Tool (AGTool) cơng cụ sinh giả định, có ý nghĩa quan trọng việc giải tốn "bùng nổ khơng gian trạng thái" phương pháp kiểm chứng mơ hình Hiện tại, AGTool công cụ tiềm việc hỗ trợ kiểm chứng phần mềm hướng thành phần Thay kiểm chứng tồn hệ thống, cơng cụ chia toán kiểm chứng thành toán nhỏ ứng với thành phần phần mềm kiểm chứng thành phần cách riêng biệt Tuy nhiên, cơng cụ AGTool cịn tồn nhiều hạn chế để ứng dụng vào thực tế tương tác với công cụ kiểm chứng phần mềm khác LTSA AGTool sử dụng kiểu liệu liệt kê (LF), kiểu biểu diễn hệ thống dịch chuyển gán nhãn (LTS) Với mục đích tăng khả tương tác với cơng cụ kiểm chứng phần mềm khác, luận văn nghiên cứu sử dụng tiến trình hữu hạn trạng thái (FSP) thay cho kiểu liệu LF AGTool Mục tiêu luận văn đưa phương pháp chuyển đổi qua lại kiểu liệu LF-FSP ứng dụng vào công cụ kiểm chứng AGTool Luận văn đề xuất thuật toán để chuyển từ LF sang FSP Dựa công cụ LTSA tác giả Jeff Magee, luận văn tiến hành tích hợp AGTool LTSA để chuyển đổi từ FSP sang LF Những cải tiến giúp AGTool trở thành công cụ hiệu tốt thực tế v TIEU LUAN MOI download : skknchat@gmail.com Bảng từ viết tắt Từ viết tắt AGTool Từ đầy đủ Assume-Guarantee Tool Ý nghĩa Công cụ hỗ trợ kiểm chứng đảm bảo giả định GUI-AGTool Graphical User Interface for Công cụ đồ họa hỗ trợ kiểm AGTool chứng đảm bảo giả định LTS Labeled Transition System Hệ thống dịch chuyển gán nhãn FSP Finite State Process Tiến trình hữu hạn trạng thái MC Model Checking Kiểm chứng mơ hình AGV Assume Guarantee Verifica- Kiểm chứng đảm bảo giả tion định LTSA Labeled Transition System Công cụ kiểm chứng hệ thống Analyzer tương tranh Ocaml Objective Caml Ngơn ngữ lập trình hàm OCaml ML Meta-Language Siêu ngôn ngữ LF Listing Form Dạng biểu diễn liệt kê LTS vi TIEU LUAN MOI download : skknchat@gmail.com Mục lục Giới thiệu Kiến thức 2.1 Labeled Transition System (LTS) 2.2 Các phương pháp biểu diễn LTS 2.2.1 Phương pháp liệt kê 2.2.2 FSP 2.3 Dẫn xuất 2.4 Ghép nối song song 2.5 LTS an tồn thuộc tính an tồn 2.6 Tính thỏa mãn 2.7 Đặc tả ngôn ngữ FSP 2.7.1 Định nghĩa FSP 10 2.7.2 Các định danh 10 2.7.3 Nhãn hành động 11 2.7.4 Const, Range, Set 12 2.7.5 Định nghĩa tiến trình 12 2.7.6 Tiến trình kết hợp 13 2.7.7 Tham số 14 2.7.8 Phép gán lại nhãn phép ẩn 15 2.7.9 Property, Progress Menu 16 2.7.10 Biểu thức 16 vii TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC 2.8 2.9 17 2.8.1 Đặc trưng OCaml 17 2.8.2 Cú pháp ngữ nghĩa 18 OCamllex OCamlyacc 23 2.9.1 OCamllex 23 2.9.2 OCamlyacc 23 AGTool 25 3.1 Giới thiệu AGTool 25 3.2 Hạn chế AGTool 27 Chuyển đổi dạng biểu diễn LTS 28 4.1 Chuyển đổi FSP sang LF 29 4.1.1 Ý tưởng 29 4.1.2 Thiết kế 32 4.1.3 Phân tích đánh giá 32 Chuyển đổi LF sang FSP 33 4.2.1 Ý tưởng 33 4.2.2 Phân tích đánh giá 36 4.2 Ngơn ngữ lập trình hàm OCaml Thực nghiệm 37 5.1 Cài đặt chương trình 37 5.2 Giới thiệu chương trình 37 5.3 Thực nghiệm 39 5.4 Đánh giá thực nghiệm 43 Kết luận 44 Tài liệu tham khảo 46 viii TIEU LUAN MOI download : skknchat@gmail.com Danh sách hình vẽ 2.1 Ví dụ LTS 2.2 Phương pháp biểu diễn liệt kê LTS 2.3 Ví dụ LF 2.4 Ví dụ FSP 2.5 Ghép nối song song INPUT OUTPUT 2.6 Biểu diễn LTS thuộc tính an tồn Safety Property 2.7 Ví dụ định nghĩa số 2.8 Ví dụ định nghĩa danh sách đối số 10 2.9 Định nghĩa FSP 10 2.10 Định nghĩa định danh 11 2.11 Định nghĩa chữ hoa, thường 11 2.12 Định nghĩa nhãn hành động 11 2.13 Định nghĩa tập nhãn hành động 12 2.14 Định nghĩa Const, Range, Set 12 2.15 Định nghĩa tiến trình 13 2.16 Định nghĩa tiến trình địa phương 14 2.17 Định nghĩa thành phần 15 2.18 Định nghĩa thành phần 15 2.19 Định nghĩa tham số 16 2.20 Định nghĩa phép gán lại nhãn 16 2.21 Định nghĩa phép ẩn 17 2.22 Định nghĩa Property 17 2.23 Định nghĩa Progress 18 ix TIEU LUAN MOI download : skknchat@gmail.com DANH SÁCH HÌNH VẼ 2.24 Định nghĩa Menu 18 2.25 Định nghĩa biểu thức 19 2.26 Định nghĩa biểu thức (tiếp) 20 2.27 Định nghĩa biểu thức (tiếp) 21 2.28 Ví dụ khai báo hàm 21 2.29 Ví dụ gọi hàm 21 2.30 Ví dụ hàm mức cao 22 2.31 Ví dụ hàm nặc danh 22 2.32 Ví dụ hàm đệ quy 22 2.33 Cấu trúc lệnh so sánh mẫu 22 2.34 Ví dụ so sánh mẫu 22 2.35 Cấu trúc tập tin đặc tả từ vựng 23 2.36 Ví dụ tập tin đặc tả từ vựng 24 2.37 Cấu trúc tập tin đặc tả cú pháp 24 3.1 Mơ hình cơng cụ kiểm chứng AGTool 25 3.2 Thành phần đầu vào AGTool 26 3.3 Kết sinh AGTool 26 4.1 Kiến trúc GUI-AGTool 28 4.2 Cấu trúc thành phần chuyển đổi từ FSP sang LF 29 4.3 FSP M 29 4.4 Mơ hình FSP Compiler 32 4.5 Cấu trúc thành phần chuyển đổi từ LF sang FSP 33 5.1 Giao diện GUI-AGTool 38 5.2 Giao diện thể giả định sinh GUI-AGTool 39 5.3 Ví dụ FSP đầu vào AGTool 40 5.4 LTS thành phần M1 41 5.5 LTS thành phần M2 41 5.6 LTS thành phần P 41 x TIEU LUAN MOI download : skknchat@gmail.com Chương Chuyển đổi dạng biểu diễn LTS 4.2 4.2.1 Chuyển đổi LF sang FSP Ý tưởng Hệ thống cài đặt thành phần gọi LF2FSP Thành phần có chức chuyển đổi liệu từ LF sang FSP Bài toán chuyển đổi từ LF sang FSP mơ tả Hình 4.5 Hình 4.5: Cấu trúc thành phần chuyển đổi từ LF sang FSP AGTool sinh giả định dạng LF thành phần LF2FSP xử lý Kết đầu thành phần LF2FSP liệu FSP Thành phần LF2FSP cài đặt sử dụng Thuật toán 4.2 33 TIEU LUAN MOI download : skknchat@gmail.com Chương Chuyển đổi dạng biểu diễn LTS Thuật toán 4.2 Thuật toán chuyển đổi LF sang FSP Đầu vào : list_transitions danh sách hàm chuyển trạng thái, list_states danh sách trạng thái Đầu : fsp_str chuỗi kí tự biểu diễn FSP 1: Khởi tạo fsp_str = null, count = 0, i = 0, tmp = empty 2: {khởi tạo xâu fsp_str rỗng, khởi tạo biến đếm count i 0, khởi tạo xâu tmp rỗng} 3: for all state in list_states 4: count := 5: tmp := null 6: for all (start_state, transition_label, stop_state) in list_transitions 7: {Phương thức ReplaceCharInString dùng để thay kí tự xâu kí tự khác} 8: {Phương thức GetStopState dùng để kiểm tra xem trạng thái có phải trạng thái kết thúc hay không?} 9: if start_state = state then 10: if count = then 11: tmp := tmp + (String.Uppercase start_state) + " = ({" + ReplaceCharInString transition_label ’=’ ’_’) + "} -> " + (GetStopState list_transitions stop_state) 12: else 13: tmp := tmp + "\n | {" + ReplaceCharInString transition_label ’=’ ’_’) + "} -> " + (GetStopState list_transitions stop_state) 14: end if 15: count++ 16: end if 17: end for 18: if count > then 19: i++ 20: if i > then 21: fsp_str := fsp_str + ",\n" + tmp + ")" 22: else 23: fsp_str := fsp_str + tmp + ")" 24: end if 25: end if 26: end for 27: fsp_str fsp_str + ".\n"; 28: return fsp_str 34 TIEU LUAN MOI download : skknchat@gmail.com Chương Chuyển đổi dạng biểu diễn LTS Danh sách list_transitions bao gồm phần tử có định dạng (start_state, transition_label, stop_state) Tại dòng 11 Thuật tốn 4.2 tìm hàm chuyển có trạng thái bắt đầu starts tates Nếu biến đếm count = tạo tiến trình cho FSP Ngược lại, tiến trình thêm vào FSP trước Tại dịng từ 20 đến 27, Thuật tốn 4.2 xác định tiến trình có phải tiến trình bắt đầu FSP hay khơng? Và FSP thêm kí hiệu kết thúc vào cuối dòng 29 Đầu vào : Danh sách list_transitions : [(S0, "in", S1), (S1, "send", S2), (S2, "ack", S0)] Danh sách list_states : [S0, S1, S2] Các bước thực : 1: Bước : 2: Khởi tạo biến: 3: fsp_str = null : xâu rỗng 4: tmp = empty : xâu rỗng 5: count = 0, i = : biến đếm 6: Bước : 7: Duyệt danh sách list_states 8: Gán count = 0, tmp = null 9: Phần tử S0: 10: Duyệt danh sách list_transitions 11: Phần tử (S0, in, S1): 12: count = 13: tmp = "S0 = (in -> S1" 14: count = 15: Phần tử (S1, send, S2): 16: S0 != S1 -> bỏ qua 17: Phần tử (S2, ack, S0): 18: S0 != S1 -> bỏ qua 19: (count = 1) > -> i = 35 TIEU LUAN MOI download : skknchat@gmail.com Chương Chuyển đổi dạng biểu diễn LTS 20: fsp_tmp = "S0 = ({in} -> S1)" 21: Tương tự phần tử S1 S2, ta : 22: fsp_tmp = "S0 = ({in} -> S1), S1 = ({send} -> S2),S2 = ({ack} -> S0)" 23: Bước : 24: Trả chuỗi fsp_tmp biểu diễn FSP 4.2.2 Phân tích đánh giá Thuật tốn 4.2 có tính dừng Điều có nghĩa thuật tốn kết thúc sau khoảng hữu hạn thời gian thực thi Tham số đầu vào Thuật toán 4.2 hai danh sách list_transitions list_states Trong Thuật toán 4.2, chương trình dừng duyệt hết tồn list_transitions list_states Các danh sách danh sách hữu hạn phần tử Luận văn trình bày phương pháp chuyển từ LF sang FSP Tuy nhiên, kết thu chưa tối ưu hóa phương pháp sinh FSP dạng đơn giản Để giải toán này, cần phải dựa vào đặc tả cú pháp FSP Sau cải tiến Thuật tốn 4.2 để thu xâu biểu diễn FSP tối ưu hóa tốt 36 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm 5.1 Cài đặt chương trình Chương trình cài đặt dựa phần nhân AGTool Dựa vào đó, luận văn cài đặt thành phần có chức chuyển đổi phương pháp biểu diễn LTS Trong trình nghiên cứu phát triển chương trình, thành phần kết hợp với cơng trình khóa luận tốt nghiệp sinh viên Vũ Hồng Long [9] để cài đặt chương trình GUI-AGTool có giao diện người dùng Ubuntu Luận văn tích hợp với LTSA thơng qua cầu nối để hỗ trợ chuyển đổi từ FSP sang LF GUI-AGTool cài đặt ngôn ngữ OCaml thành phần sử dụng công cụ ocamllex ocamlyacc để đọc, phân tích tập tin liệu đầu vào Ocamllex sinh dùng để sinh chương trình phân tích đốn nhận mẫu từ vựng tập tin đầu vào Các biểu thức quy luật đặc tả tập tin từ vựng Ocamllex sinh tập tin mã nguồn OCaml dựa vào tập tin đặc tả Tập tin mã nguồn sinh định nghĩa hàm xử lý từ vựng [15] Ocamlyacc sinh dùng để sinh chương trình phân tích cú pháp tập tin đầu vào [16] Chương trình OCaml có chức phân tích cú pháp cho tập tin liệu đầu vào 5.2 Giới thiệu chương trình Chương trình GUI-AGTool cài đặt cung cấp miễn phí địa Chương trình u cầu cài đặt gói thư viện sau: • OCaml 3.12 cung cấp địa http://uet.vnu.edu.vn/~hungpn/GUI-AGTool/ http://caml.inria.fr/download.en.html 37 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm • LablGTK dành cho môi trường OCaml cung cấp địa • Cairo-Ocaml cung cấp địa Chương trình có chức hỗ trợ người dùng nhập/xuất liệu hiển thị dạng biểu đồ trực quan Hình 5.1 giao diện chương trình GUI-AGTool Hình 5.1: Giao diện GUI-AGTool Các chức cài đặt cơng cụ GUI-AGTool sau: • OpenFSP có chức mở tập tin đặc tả ngôn ngữ FSP OpenListing cho phép mở tập tin đặc tả dạng liệt kê Sau mở tập tin thành công, GUI-AGTool tự động vẽ thành phần đặc tả tập tin dạng biểu đồ trực quan • SaveWorking có chức lưu lại cơng việc thực Thông tin thành phần đặc tả ngôn ngữ FSP lưu lại vào tập tin để sử dụng lâu dài http://www.math.nagoya-u.ac.jp/~garrigue/soft/olabl/lablgtk.html http://www.cairographics.org/cairo-ocaml/ 38 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm • GenerateAssumption có chức sinh giả định hệ thống đặc tả Phần xử lý bên cài đặt [7] Chức hiển thị kết dạng biểu đồ trực quan Giả định sinh GUI-AGTool hiển thị biểu đồ trực quan đặt thẻ Assumption Hình 5.2 ví dụ cho giả định sinh GUI-AGTool Hình 5.2: Giao diện thể giả định sinh GUI-AGTool • Chức Save thẻ Assumption cho phép lưu giả định dạng tập tin đặc tả ngôn ngữ FSP 5.3 Thực nghiệm Luận văn tiến hành thực nghiệm với chín mẫu đầu vào đặc trưng Kết thu thõa mãn yêu cầu so sánh với cơng cụ LTSA Các ví dụ đầu vào kết tải địa Thơng tin chín mẫu thử nghiệm mô tả Bảng 5.1 M1 , M2 thành phần hệ thống P thuộc tính hệ thống http://uet.vnu.edu.vn/~hungpn/GUI-AGTool/ 39 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm Luận văn trình bày ví dụ minh họa khả sử dụng ngơn ngữ FSP làm liệu đầu vào GUI-AGTool mà luận văn tiến hành thực nghiệm Ví dụ có chứa phép tốn if then, when FSP Các thành phần đầu vào biểu diễn FSP Hình 5.3 Chương trình GUI-AGTool xử lý liệu FSP biểu diễn thành phần M1 , M2 , P dạng biểu đồ trực quan Hình 5.4 tương ứng với thành phần M1 Hình 5.5 tương ứng với thành phần M2 Hình 5.6 tương ứng với thành phần thuộc tính P Luận văn sử dụng công cụ LTSA để kiểm chứng lại kết GUI-AGTool thu kết tương ứng Kết công cụ GUI-AGTool LTSA hoàn toàn khớp với đáp ứng yêu cầu luận văn Hình 5.7 tương ứng với thành phần M1 sinh LTSA Hình 5.8 tương ứng với thành phần M2 sinh LTSA Hình 5.9 tương ứng với thành phần thuộc tính P sinh LTSA Bảng 5.1: Bảng kích cỡ số trạng thái mẫu đầu vào Tên tập tin đầu vào M1 M2 P AP1_INPUT_P 3 AP2_INPUT_P 3 AP3_INPUT_P 3 AP4_INPUT_P 5 INPUT_OUTPUT_P 3 Mod_1_two_channel/A_INPUT_P 3 Mod_1_two_channel/Input_Output_p Mod_2_two_channel/A_INPUT_P 5 complex_test M1 = (a[i:1 3] -> if i==1 then STOP else M1) M2 = M2[0], M2[i:0 2] = (when i M2[i+1]), M2[3] = STOP P = (a[i:0 3] -> ( when i==0 x -> STOP | when i!=0 y -> P)) ||CS = (M1 || M2 || P) Hình 5.3: Ví dụ FSP đầu vào AGTool 40 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm Hình 5.4: LTS thành phần M1 Hình 5.5: LTS thành phần M2 Hình 5.6: LTS thành phần P 41 TIEU LUAN MOI download : skknchat@gmail.com Chương Thực nghiệm Hình 5.7: LTS thành phần M1 sinh LTSA Hình 5.8: LTS thành phần M2 sinh LTSA Hình 5.9: LTS thành phần P sinh LTSA 42 TIEU LUAN MOI download : skknchat@gmail.com Chương 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 so sánh kết GUI-AGTool tiến hành thực nghiệm với mẫu liệu Bảng 5.1 Thực nghiệm thu kết mong đợi Xét mặt ngữ nghĩa LTS, FSP sinh khớp với liệu dạng liệt kê tương ứng Giả định thu dạng FSP tương ứng với kết thu cơng cụ AGTool Kết có ý nghĩa việc chứng minh phương pháp mà luận văn đưa đắn FSP sinh GUI-AGTool sử dụng lại LTSA có ý nghĩa quan trọng Đặc tả hệ thống giả định sinh GUI-AGTool kiểm chứng công cụ LTSA thông qua việc sử dụng lại đặc tả 43 TIEU LUAN MOI download : skknchat@gmail.com Chương 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 kiểm chứng tồn hệ thống thành phần hệ thống kiểm chứng riêng biệt Để thực phương pháp này, cơng cụ AGTool có nhiệm vụ hỗ trợ sinh giả định hệ thống Dựa hiểu biết công cụ này, luận văn nhận AGTool cịn có nhiều hạn chế cần cải tiến Nhằm giải vấn đề này, luận văn đề xuất hai phương pháp chuyển đổi dạng biểu diễn LTS Hai phương mở tiểm ứng dụng rộng rãi AGTool công nghệ phần mềm đưa AGTool trở thành cơng cụ có khả 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 LTSA Phương pháp thứ có chức chuyển đổi từ FSP thành dạng LF Phương pháp sinh kết sử dụng liệu đầu vào AGTool Giả định sinh AGTool chuyển sang FSP phương pháp thứ hai Kết sử dụng lại công cụ kiểm chứng khác LTSA Với hỗ trợ ocamllex ocamlyacc, luận văn cài đặt thành công hai phương pháp vào công cụ GUI-ATool GUI-ATool kế thừa phát triển AGTool Công cụ phần nghiên cứu khóa luận sinh viên Vũ Hồng Long [9] GUI-AGTool cài đặt giao diện người dùng, nên mang lại hiệu cao công việc Luận văn tiến hành thực nghiệm với mẫu thử nghiệm thu kết với mong đợi Tuy nhiên, hai phương pháp mà luận văn đưa chưa kiểm thử cách triệt để Phương pháp chuyển đổi từ FSP sang dạng LF đặc tả cách đầy đủ ngôn ngữ FSP nhiên với trường hợp xử lý đặc biệt chưa kiểm tra tính đắn Phương pháp chuyển đổi từ dạng liệt kê sang cho kết thuộc tập ngôn ngữ FSP chưa tối ưu hóa 44 TIEU LUAN MOI download : skknchat@gmail.com Chương Kết luận Trong tương lai tiếp tục nghiên cứu phát triển để khắc phục vấn để tồn nêu Với ý tưởng luận văn, cải tiến liệu đầu vào để kiểm thử rộng ngôn ngữ FSP liệu đầu tối ưu hóa tốt Chúng tơi áp dụng hệ thống có kích thước lớn để chứng minh tính hiệu cơng cụ xây dựng 45 TIEU LUAN MOI download : skknchat@gmail.com 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 URL http://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 9780-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 URL http://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 assumptions In Proceedings of the 26th International Conference on Software Engineering, ICSE ’04, pages 211–220, Washington, DC, USA, 2004 IEEE Computer Society ISBN 0-7695-2163-0 URL http://portal.acm.org/citation.cfm? id=998675.999426 [6] Dimitra Giannakopoulou and Corina S Pasareanu Learning-Based AssumeGuarantee 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 In Proceedings 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 URL http://dx.doi.org/10.1109/KSE.2010.18 [8] Jeff Magee and Jeff Kramer, 11 2013 ltsa/ URL http://www.doc.ic.ac.uk/ 46 TIEU LUAN MOI download : skknchat@gmail.com Chương Kết luận [9] Vũ Hồng Long Xây dựng giao diện cho cơng cụ agtool Khố 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 phương pháp biểu diễn lts ứ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 URL http://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 analysis of systems, TACAS’03, pages 331–346, Berlin, Heidelberg, 2003 SpringerVerlag ISBN 3-540-00898-5 URL http://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 URL http://plus.kaist.ac.kr/~shoh/ ocaml/ocamllex-ocamlyacc/ocamllex-tutorial/index.html [16] SooHyoung Oh Ocamlyacc, 2004 URL http://plus.kaist.ac.kr/~shoh/ ocaml/ocamllex-ocamlyacc/ocamlyacc-tutorial/ocamlyacc-tutorial html 47 TIEU LUAN MOI download : skknchat@gmail.com ... Quốc Toản NGHIÊN CỨU KHẢ NĂNG CHUYỂN ĐỔI GIỮA CÁC ĐẶC TẢ HÌNH THỨC VÀ ỨNG DỤNG TRONG KIỂM CHỨNG PHẦN MỀM 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Ĩ... pháp kiểm chứng mơ hình Hiện tại, AGTool công cụ tiềm việc hỗ trợ kiểm chứng phần mềm hướng thành phần Thay kiểm chứng tồn hệ thống, cơng cụ chia toán kiểm chứng thành toán nhỏ ứng với thành phần. .. phần phần mềm kiểm chứng thành phần cách riêng biệt Tuy nhiên, cơng cụ AGTool cịn tồn nhiều hạn chế để ứng dụng vào thực tế tương tác với công cụ kiểm chứng phần mềm khác LTSA AGTool sử dụng