1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

12 420 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 189,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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Ệ T

Trang 1

ĐẠ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

Trang 2

ĐẠ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

Trang 3

Lời cảm ơn

Trước tiên, tôi muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, TS Phạm Ngọc Hùng, người đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình học tập, nghiên cứu và thực hiện luận văn tốt nghiệp

Tôi xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo đã giảng dạy trong hai năm qua, đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại 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ả cuốn sách "Concurrency - state models and Java

programs (2 ed.)" Giáo sư đã nhiệt tình giải đáp các vấn đề mà tôi gặp phải trong quá trình thực hiện 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 đỡ tôi các vấn

đề kỹ thuật liên quan tới luận văn cũng như các vấn đề khác trong cuộc sống Tôi muốn gửi lời cảm ơn sâu sắc đến gia đình và tất cả bạn bè, những người luôn kịp thời động viên và giúp đỡ tôi vượt qua những khó khăn trong cuộc 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 và trao đổi cùng 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

Trang 4

Lời cam đoan

Tôi xin cam đoan luận văn này là công trình nghiên cứu của riêng tôi Các số liệu, kết quả được trình bày trong luận văn là hoàn toàn trung thực và chưa từng được công bố trong bất kỳ một công trình nào khác Tôi đã trích dẫn đầy

đủ các tài liệu tham khảo, công trình nghiên cứu liên quan ở trong nước và quốc

tế Ngoại trừ các tài liệu tham khảo này, luận văn hoàn toàn là công việc của riêng tôi

Hà Nội, 28 tháng 5 năm 2015

Học viên

Đậu Quốc Toản

Trang 5

Tóm tắt

Assume-Guarantee Tool(AGTool) là một công cụ sinh giả định, có ý nghĩa quan

trọng trong việc giải quyết bài toán "bùng nổ không gian trạng thái" của phương

pháp kiểm chứng mô hình Hiện tại, AGTool là một trong những công cụ tiềm năng trong việc hỗ trợ kiểm chứng phần mềm hướng thành phần Thay vì kiểm chứng trên toàn bộ hệ thống, công cụ này chia bài toán kiểm chứng thành các bài toán nhỏ hơn ứng với các thành phần phần mềm và kiểm chứng các thành phần này một cách riêng biệt Tuy nhiên, công cụ AGTool còn tồn tại nhiều hạn chế để có thể ứng dụng vào trong thực tế và tương tác với các công cụ kiểm

chứng phần mềm khác như LTSA AGTool sử dụng kiểu dữ liệu liệt kê (LF), đây

là một trong những kiểu biểu diễn của hệ thống dịch chuyển được gán nhãn (LTS).

Với mục đích tăng khả năng tương tác với các công cụ kiểm chứng phần mềm

khác, luận văn nghiên cứu sử dụng các tiến trình hữu hạn trạng thái (FSP) thay

thế cho kiểu dữ liệu LF của AGTool Mục tiêu của luận văn là đưa ra phương pháp chuyển đổi qua lại giữa các kiểu dữ liệu LF-FSP và ứng dụng vào công

cụ kiểm chứng AGTool Luận văn đề xuất một thuật toán để chuyển từ LF sang FSP Dựa trên công cụ LTSA của tác giả Jeff Magee, luận văn đã tiến hành tích hợp giữa AGTool và LTSA để chuyển đổi từ FSP sang LF Những cải tiến này sẽ giúp AGTool trở thành một công cụ hiệu quả và tốt hơn trong thực tế

Trang 6

Bảng từ viết tắt

Từ viết tắt Từ đầy đủ Ý nghĩa

AGTool Assume-Guarantee Tool Công cụ hỗ trợ kiểm chứng

đảm bảo giả định GUI-AGTool Graphical User Interface for

AGTool

Công cụ đồ họa hỗ trợ kiểm chứng đảm bảo giả định LTS Labeled Transition System Hệ thống dịch chuyển được

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-tion

Kiểm chứng đảm bảo giả định

LTSA Labeled Transition System

Analyzer

Công cụ kiểm chứng hệ thống 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ê của LTS

Trang 7

Mục lục

2.1 Labeled Transition System (LTS) 4

2.2 Các phương pháp biểu diễn LTS 5

2.2.1 Phương pháp liệt kê 6

2.2.2 FSP 6

2.3 Dẫn xuất 7

2.4 Ghép nối song song 7

2.5 LTS an toàn và thuộc tính an toàn 8

2.6 Tính thỏa mãn 9

2.7 Đặc tả ngôn ngữ FSP 9

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 và phép ẩn 15

2.7.9 Property, Progress và Menu 16

2.7.10 Biểu thức 16

Trang 8

M ỤC LỤC

2.8 Ngôn ngữ lập trình hàm OCaml 17

2.8.1 Đặc trưng của OCaml 17

2.8.2 Cú pháp và ngữ nghĩa 18

2.9 OCamllex và OCamlyacc 23

2.9.1 OCamllex 23

2.9.2 OCamlyacc 23

3 AGTool 25 3.1 Giới thiệu AGTool 25

3.2 Hạn chế của AGTool 27

4 Chuyển đổi giữa các dạng biểu diễn của 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

4.2 Chuyển đổi LF sang FSP 33

4.2.1 Ý tưởng 33

4.2.2 Phân tích đánh giá 36

5 Thực nghiệm 37 5.1 Cài đặt chương trình 37

5.2 Giới thiệu về chương trình 37

5.3 Thực nghiệm 39

5.4 Đánh giá thực nghiệm 43

Trang 9

Danh sách hình vẽ

2.1 Ví dụ của LTS 5

2.2 Phương pháp biểu diễn liệt kê của LTS 6

2.3 Ví dụ của LF 6

2.4 Ví dụ của FSP 7

2.5 Ghép nối song song giữa INPUT và OUTPUT 8

2.6 Biểu diễn LTS của thuộc tính an toàn Safety Property 9

2.7 Ví dụ định nghĩa hằng số 9

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 các định danh 11

2.11 Định nghĩa các chữ hoa, thường 11

2.12 Định nghĩa nhãn hành động 11

2.13 Định nghĩa tập các 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 tuần tự 15

2.18 Định nghĩa thành phần tuần tự 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

Trang 10

D ANH 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 của 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 của AGTool 26

3.3 Kết quả được sinh ra bởi AGTool 26

4.1 Kiến trúc của 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 chính của GUI-AGTool 38

5.2 Giao diện thể hiện giả định sinh ra bởi GUI-AGTool 39

5.3 Ví dụ FSP đầu vào của AGTool 40

5.4 LTS của thành phần M 41

Trang 11

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 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 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

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 URL http://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 In

Pro-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 URL http://dx.doi.org/10.1109/KSE.2010.18

[8] Jeff Magee and Jeff Kramer, 11 2013 URL http://www.doc.ic.ac.uk/

Trang 12

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 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 anal-ysis of systems, TACAS’03, pages 331–346, Berlin, Heidelberg, 2003 Springer-Verlag 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

Ngày đăng: 27/08/2016, 11:13

HÌNH ẢNH LIÊN QUAN

Bảng từ viết tắt - 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
Bảng t ừ viết tắt (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w