KHUNG HÌNH THỨC HỖ TRỢ ĐẢM BẢO CHẤT LƯỢNG CHUYỂN ĐỔI MÔ HÌNH CHẤT LƯỢNG ĐƯA RA CÁC HÌNH THỨC VÀ PHƯƠNG PHÁP CHUYỂN ĐÔI CHẤT LƯƠNGJ CAO
Trang 1ĐẠI HỌC HÀ NỘI THIÊN
KHUNG HÌNH THỨC HỖ TRỢ ĐẢM BẢO CHẤT LƯỢNG CHUYỂN ĐỔI MÔ HÌNH
LUẬN ÁN TIỄN SĨ KỸ THUẬT PHẦN MỀM
Hà Nội - 2024
Trang 2Công trình được hoàn thành tại:
Trường Đại học Công nghệ THIÊN
Người hướng dẫn khoa học: 1 PGS.TS Hồ Sĩ Đàm
2 TS Đặng Đức Hạnh
Phản biện 1: PGS.TS Lê Hồng Anh
Phản biện 2: TS Lê Quang Minh
Phản biện 3: TS Nguyễn Thanh Hùng
Luận án sẽ được bảo vệ tại Hội đồng chấm luận án cấp Đại học QuốcGia họp tại: Trường Đại học Công nghệ – Đại học Quốc gia Hà Nộivào hồi 14 giờ ngày 18 tháng 03 năm 2023
Có thể tìm hiểu luận án tại:
- Thư viện Quốc gia Việt Nam,
Trang 3TÓM TẮT
Kỹ nghệ hướng mô hình (Model-Driven Engineering - MDE ) đang trởthành một phương pháp phổ biến để phát triển các ứng dụng phần mềmquy mô lớn, phức tạp, trong đó các bộ chuyển đổi mô hình đóng vai trò thenchốt để hiện thực hóa các tác vụ của quy trình phát triển Nhằm giải quyếtcác thách thức trong việc đảm bảo chất lượng các bộ chuyển đổi mô hình,luận án đề xuất phát triển một khung hình thức hỗ trợ kiểm thử hướng đặc
tả các bộ chuyển đổi mô hình Các đóng góp chính của luận án như sau
Đề xuất ngôn ngữ TC4MT (Test Cases for Model Transformations TC4MT ) cho phép đặc tả mức cao các loại cam kết khác nhau của bộchuyển đổi mô hình như cam kết kiểu, cam kết hành vi và cam kết thể thứcchuyển Cam kết kiểu gồm siêu mô hình nguồn và siêu mô hình đích mô tảkiểu của dữ liệu được thao tác bởi chuyển đổi mô hình sẽ được đặc tả bởicác đồ thị kiểu Cam kết hành vi đặt ra thêm các ràng buộc trên các môhình đầu vào, đầu ra, quan hệ giữa chúng được đặc tả bởi các mẫu đồ thịbiểu diễn các tập tiền điều kiện, hậu điều kiện và bất biến của bộ chuyểnđổi mô hình Cam kết thể thức diễn đạt sự thay đổi đồng bộ của các phần
-tử mô hình nguồn và mô hình đích tại mỗi bước chuyển và được diễn đạtbởi các luật chuyển tam đồ thị
Sử dụng đặc tả làm cơ sở kiểm thử, luận án đề xuất hai hướng tiếp cậnchính để kiểm thử các bộ chuyển đổi mô hình: (1) Kết hợp phân vùng dựatrên cam kết kiểu và cam kết hành vi để thiết kế bộ ca kiểm thử kiểm chứngtính đúng đắn về ngữ pháp, tính bảo toàn thông tin và tính đầy đủ của bộchuyển đổi mô hình; (2) Phân tích quan hệ phụ thuộc giữa các luật diễnđạt cam kết thể thức để thiết kế bộ ca kiểm thử, kiểm chứng một cách có
hệ thống các tính chất của bộ chuyển đổi mô hình
Để đánh giá hiệu quả của các phương pháp đề xuất, luận án cài đặt một
số ví dụ chuyển đổi mô hình cùng các công cụ hỗ trợ Tiến hành phân tíchkết quả kiểm thử trên các ví dụ chuyển, luận án thảo luận về tính ứng dụngcủa phương pháp kiểm thử đề xuất và đánh giá hiệu quả phát hiện lỗi củacác tập ca kiểm thử được sinh ra từ các phương pháp đó
Từ khóa: Chuyển đổi mô hình, Kiểm thử chuyển đổi mô hình, Kiểmthử hướng đặc tả, Văn phạm tam đồ thị, TC4MT
Trang 4mô hình là nguyên tắc kỹ nghệ chính để hiện thực hóa quy trình phát triểnphần mềm.
Kiểm thử là kỹ thuật phổ biến nhất để kiểm tra chất lượng các chuyểnđổi mô hình Các nỗ lực kiểm thử tập trung vào hai nhiệm vụ chính: sinh
tự động tập mô hình kiểm thử đầu vào và cấu trúc hàm phán xét kiểm thửđánh giá tập mô hình đầu ra Kiểm thử chuyển đổi mô hình hiện vẫn cònmột số thách thức chưa được giải quyết triệt để như sau
1 Hầu hết các chuyển đổi mô hình chưa được phát triển theo một quytrình kỹ nghệ đầy đủ Các nỗ lực phát triển chuyển đổi mô hình hiệntại thường chỉ tập trung vào giải đoạn cài đặt trong khi chưa chú trọngtới đặc tả chuyển ở mức cao
2 Các nỗ lực kiểm thử chuyển thường tập trung vào khai thác siêu môhình và một vài ràng buộc trên siêu mô hình để thiết kế ca kiểm thử.Cần có một cách tiếp cận có hệ thống hơn để tạo tập ca kiểm thử có
độ bao phủ cao các thành phần của đặc tả chuyển đổi mô hình
3 Các đánh giá đầu ra kiểm thử hầu hết tập trung vào kiểm tra tínhđúng đắn về ngữ pháp và bảo toàn thông tin Việc cấu trúc hàm phán
1
Trang 5Chương 1 Mở đầu 2
xét kiểm thử đánh giá kết quả đầu ra của chuyển đổi mô hình nhằmkiểm chứng những thuộc tính chất lượng khác còn là một khoảng trốngtrong nghiên cứu
1.2 Mục tiêu và phạm vi nghiên cứu
Luận án tập trung vào các mục tiêu nghiên cứu sau
Mục tiêu 1 Thiết kế ngôn ngữ đặc tả cho phép biểu diễn tập yêu cầuchính thức bởi các cam kết chuyển đổi mô hình trực quan, dễ thẩm định và
hỗ trợ cho việc áp dụng các kỹ thuật thiết kế kiểm thử
Mục tiêu 2 Đề xuất phương pháp phân tích các loại cam kết khác nhaucủa đặc tả để thiết kế ca kiểm thử
Mục tiêu 3 Phát triển các công cụ hỗ trợ cho việc đặc tả và kiểm thử
tự động chuyển đổi mô hình
1.3 Nội dung và phương pháp nghiên cứu
Nội dung nghiên cứu của luận án tập trung vào việc phát triển khunghình thức hỗ trợ kiểm thử các bộ chuyển đổi mô hình sang mô hình Cácthành phần của khung kiểm thử hướng đặc tả được mô tả trong Hình 1.1
1.4 Cấu trúc luận án
Luận án “Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi môhình ” bao gồm bảy chương Trong đó, Chương Mở đầu trình bày về lý dochọn đề tài, mục đích, nội dung, đối tượng nghiên cứu và đóng góp của luận
án Các chương còn lại được tổ chức như trong Hình 1.2, cụ thể như sau
Trang 6Chương 1 Mở đầu 3
Hình 1.1 : Tổng quan phương pháp đề xuất cho đảm bảo chất lượng
chuyển đổi mô hình
Hình 1.2 : Cấu trúc luận án
Trang 72.1 Phát triển bộ chuyển đổi mô hình
Mô hình và chuyển đổi mô hình là các chế tác chính trong kỹ nghệ phầnmềm hướng mô hình
Các hướng tiếp cận cài đặt chuyển đổi mô hình có thể được phân rathành các nhóm chính: cách tiếp cận dựa trên quan hệ/khai báo, cách tiếpcận dựa trên mệnh lệnh/thực thi, cách tiếp cận dựa trên chuyển đổi đồ thị
và cách tiếp cận lai
Các thuộc tính chất lượng của chuyển đổi mô hình: đúng đắn về ngữpháp, bảo toàn thông tin, bảo toàn hành vi, đầy đủ, kết thúc và hội tụ
4
Trang 8Chương 2 Kiến thức cơ sở và hiện trạng nghiên cứu 5
2.2 Ví dụ chuyển đổi từ biểu đồ lớp UML sang
lược đồ cơ sở dữ liệu quan hệ
Luận án sử dụng chuyển đổi mô hình CD2RDBM từ biểu đồ lớp UML(UML Class Diagram - CD ) sang mô hình cơ sở dữ liệu quan hệ (RelationalDatabase Models - RDBM ) làm ví dụ minh họa
Hình 2.1 : Minh họa chuyển đổi mô hình CD2RDBM
Trang 9Chương 2 Kiến thức cơ sở và hiện trạng nghiên cứu 6
2.3 Kiểm thử bộ chuyển đổi mô hình
Hình 2.2 : Khung công việc của kiểm thử chuyển đổi mô hình
2.4 Văn phạm tam đồ thị
Văn phạm tam đồ thị (Triple Graph Grammar - TGG ) được thiết kế dựatrên khái niệm của văn phạm đồ thị thao tác trên tập luật tam đồ thị
TGG là một khái niệm đã được thiết lập tốt để đặc tả và thực thi chuyểnđổi mô hình hai chiều trong MDE
2.5 Tổng kết chương
Trang 10Chương 3
NGÔN NGỮ ĐẶC TẢ CÁC BỘ CHUYỂN ĐỔI MÔ HÌNH TC4MT
Trong chương này luận án đề xuất một ngôn ngữ đặc tả chuyển đổi môhình dựa trên cam kết TC4MT
3.1 Giới thiệu
Hình 3.1 : Các thành phần của đặc tả bộ chuyển đổi mô hình
3.2 Các nghiên cứu liên quan
Một đề xuất ngôn ngữ đặc tả chuyển đổi mô hình liên quan tới ba vấn
đề chính là phương pháp đặc tả, nội dung đặc tả và mục đích đặc tả
7
Trang 11Chương 3 Ngôn ngữ đặc tả bộ chuyển đổi mô hình TC4MT 8
Trang 12Chương 3 Ngôn ngữ đặc tả bộ chuyển đổi mô hình TC4MT 9
Để diễn đạt cam kết thủ tục chuyển, đặc tả TC4MT sử dụng thuộc tínhđánh dấu isTranslated và thuộc tính diễn đạt hành vi (khớp nối, thêm, sửa,xóa) của luật trên tất cả các phần tử mẫu đồ thị diễn đạt cam kết Hình 3.3
biểu diễn cú pháp cụ thể dạng đồ thị trực quan của luật tam đồ thị dạngkhai báo trong đặc tả TC4MT
Hình 3.3 : Luật PriAttribute2Column khai báo trong đặc tả
TC4MT
Luận án phân tích ngữ nghĩa thực thi của luật chuyển đổi bằng cách ánh
xạ tập luật trong đặc tả TC4MT sang tập luật tam đồ thị
3.4 Thực thi các cam kết của đặc tả chuyển đổi
TC4MT
Để sử dụng các cam kết như là xác nhận về chất lượng kiểm tra của bộchuyển đổi mô hình, các thành phần của đặc tả TC4MT cần phải được thựcthi bằng cách đưa vào các cài đặt chuyển cụ thể
Trang 13Chương 3 Ngôn ngữ đặc tả bộ chuyển đổi mô hình TC4MT 10
Cách tiếp cận đặc tả dựa trên cam kết của TC4MT cho phép biện giải
về chất lượng đặc tả ở các khía cạnh: (1) bao phủ siêu mô hình; (2) dư thừa;(3) xung đột; và (4) thỏa mãn cam kết
3.4.2 Biên dịch tiền điều kiện, hậu điều kiện và bất biến
sang ngôn ngữ OCL
Việc biên dịch các cam kết sang biểu thức boolean OCL cho phép kếthợp các biểu thức này như là các điều kiện ràng buộc nguồn giới hạn khônggian mô hình hóa của siêu mô hình
3.5 Kiểm thử bộ chuyển đổi mô hình theo hướng
đặc tả
Các cam kết của đặc tả TC4MT có thể được ánh xạ sang ngữ nghĩa hìnhthức của chuyển đổi đồ thị sử dụng TGGs tạo điều kiện thuận lợi cho việcphân tích đặc tả để kiểm chứng các thuộc tính chất lượng
3.6 Đánh giá ngôn ngữ đặc tả TC4MT
Luận án đánh giá ngôn ngữ TC4MT thông qua việc so sánh với cácngôn ngữ đặc tả mức cao khác về ba phương diện: (1) Tính dễ sử dụng;(2) Năng lực diễn đạt; (3) Khả năng thẩm định được
3.7 Tổng kết chương
Kết quả nghiên cứu của chương được xuất bản trong hai bài báo NICS
2021 [hanh3] và JCSCE 2023 [hanh5]
Trang 14Chương 4
PHƯƠNG PHÁP KIỂM THỬ
CHUYỂN ĐỔI MÔ HÌNH DỰA TRÊN SIÊU MÔ HÌNH VÀ CAM KẾT HÀNH VI CHUYỂN
Trong chương này, luận án đề xuất cách tiếp cận phân tích phân vùng
tự động trên cam kết kiểu diễn đạt bởi siêu mô hình cũng như phân vùngdựa trên cam kết hành vi chuyển diễn đạt bởi các tập tiền điều kiện, bấtbiến và hậu điều kiện
4.1 Giới thiệu
Kiểm thử dựa trên phân vùng siêu mô hình và cam kết hành vi giúpgiảm sự trùng lặp của tập mô hình kiểm thử và thỏa mãn tiêu chí bao phủcác thành phần chính của đặc tả
4.2 Các nghiên cứu liên quan
Kiểm thử chuyển đổi mô hình dựa trên siêu mô hình và cam kết hành vichuyển liên quan tới vấn đề chính: thiết kế kiểm thử hộp đen; kết hợp cácràng buộc miền khác nhau để sinh tập mô hình kiểm thử sử dụng kỹ thuậtphân vùng tương đương; giải ràng buộc sinh mô hình kiểm thử tự động
11
Trang 15Chương 4 Phương pháp kiểm thử dựa trên siêu mô hình và cam kết 12
4.3 Tổng quan về phương pháp đề xuất
Đề xuất của luận án về phương pháp kiểm thử phân vùng trên siêu môhình và cam kết hành vi chuyển được mô tả trong Hình 4.1
Hình 4.1 : Kết hợp kiểm thử phân vùng trên siêu mô hình và cam
kết hành vi chuyển
4.4 Phân vùng trên siêu mô hình và cam kết
hành vi chuyển
Để sinh tập mô hình kiểm thử sử dụng khái niệm bao phủ siêu mô hình,luận án sử dụng cách tiếp cận phân tích phân vùng dựa trên kiểu dữ liệu
Trang 16Chương 4 Phương pháp kiểm thử dựa trên siêu mô hình và cam kết 13
của thuộc tính mô tả và giá trị bản số liên kết trong siêu mô hình nguồn,sau đó sử dụng lược đồ OCL để dịch các điều kiện phân vùng về dạng biểuthức phân loại logic (CT) Lược đồ OCL để dịch các điều kiện phân vùngdựa trên bản số liên kết và kiểu dữ liệu thuộc tính mô tả lớp trong siêu môhình như sau
Cam kết tiền điều kiện, hậu điều biện và bất biến có thể được biên dịchsang cấu trúc biểu thức phân loại (CT) để diễn đạt các điều kiện ràng buộc.Hình 4.2 minh họa kết quả phân vùng không gian dữ liệu đầu vào dựa trêntiền điều kiện
Hình 4.2 : Phân tích phân vùng dựa trên tiền điều kiện
Trang 17Chương 4 Phương pháp kiểm thử dựa trên siêu mô hình và cam kết 14
4.5 Phương pháp kết hợp phân vùng để kiểm
thử các bộ chuyển đổi mô hình
Phân vùng trên siêu mô hình và trên tập cam kết hành vi có thể đượcmột cách đồng nhất dưới dạng CT (boolean OCL expressions) Việc kết hợpcác điều kiện phân vùng cho phép thiết kế kiểm thử theo hai chiến lược kiểmthử khẳng định và phủ định như minh họa trong Hình 4.3
Hình 4.3 : Chiến lược kiểm thử khẳng định và kiểm thử phủ định
dựa trên kết hợp phân vùng
Kiểm thử phủ định nhằm đảm bảo hệ thống có phản ứng một cách thíchhợp với các trường hợp đầu vào không hợp lệ hay không Luận án đề xuấtmột số tiêu chí kiểm thử phủ định như sau
Phủ NP (NP coverage) Mỗi giá trị false của tiền điều kiện phủ địnhphải được cài đặt trong ít nhất một mô hình kiểm thử
Phủ 2NP (2NP coverage) Mỗi giá trị false của một tiền điều kiệnphủ định hoặc giá trị false của kết hợp cặp đôi tiền điều kiện phủ định phảiđược cài đặt trong ít nhất một mô hình kiểm thử
Phủ kết hợp NP (Combinatorial NP coverage) Với một giá trị t > 2 bất
kỳ, mỗi giá trị false của kết hợp 1, 2, 3, t tiền điều kiện phủ định phải đượccài đặt trong ít nhất một mô hình kiểm thử
Trang 18Chương 4 Phương pháp kiểm thử dựa trên siêu mô hình và cam kết 15
Kiểm thử khẳng định tập trung vào kiểm thử hệ thống có thực thi đúngnhư dự định (yêu cầu chức năng) với đầu vào hợp lệ hay không Trong kiểmthử khẳng định, kiểm thử viên thường cố gắng sinh ra các dữ liệu kiểm thửhợp lệ dựa trên phân vùng tương đương hợp lệ hoặc phân tích giá trị biênhợp lệ
Phủ range (AllRanges coverage) Giá trị đại diện của mỗi range phảiđược cài đặt ít nhất trong một mô hình kiểm thử
Phủ tập kết hợp thuộc tính lớp (AllClassProperties coverage)Mỗi giá trị đại diện cho các range của các phân vùng dựa trên kiểu dữ liệuthuộc tính mô tả lớp và bản số liên kết giữa các lớp phải được cài đặt cùngnhau trong ít nhất một ca kiểm thử
Phủ bất biến (Invariant Coverage) Mỗi mẫu đồ thị nguồn của mộtbất biến (bao gồm cả bất biến khẳng định và bất biến phủ định) phải đượccài đặt trong ít nhất một mô hình kiểm thử
Để đánh giá đầu ra kiểm thử, các hàm phán xét kiểm thử đánh giá cáctính chất mong đợi trên mô hình đầu ra, nhằm kiểm tra các thuộc tính chấtlượng khác nhau được đề xuất Các hàm phán xét kiểm thử sử dụng cáchtiếp cận phán xét bộ phận, đánh giá mô hình đầu ra dựa trên các xác nhậnOCL Nhiệm vụ này được hỗ trợ tự động bởi công cụ thẩm định mô hình
Trang 195.2 Các nghiên cứu liên quan
Cách tiếp cận kiểm thử dựa trên tập luật của đặc tả TC4MT liên quantới các vấn đề sau: phân tích quan hệ phụ thuộc luật; kiểm chứng các thuộctính dựa trên quan hệ giữa các luật
16
Trang 20Chương 5 Phương pháp kiểm thử dựa trên tập luật chuyển 17
Hình 5.1 : Tổng quan phương pháp kiểm thử dựa trên phân tích
luật chuyển
5.3 Tổng quan về phương pháp đề xuất
5.4 Phân tích quan hệ phụ thuộc luật
Luận án đề xuất việc phân tích bốn loại quan hệ phụ thuộc giữa các luậttrong đặc tả TC4MT để thiết kế kiểm thử gồm: Tạo-Sử dụng; Tạo-Cấm;Xóa-Sử dụng; Xóa-Cấm
5.5 Sinh mô hình kiểm thử dựa trên quan hệ phụ
thuộc luật
Chiến lược tạo mô tả ca kiểm thử được thực hiện dựa trên các tiêuchí bao phủ: Rules (bao phủ luật), Closed-rules (bao phủ luật đóng), Ruledependencies (bao phủ phụ thuộc luật), và t-way (t > 2)
Việc cấu trúc mô tả ca kiểm thử dựa trên chuỗi luật được mô tả trongthuật toán 5.2
Các mô tả ca kiểm thử TCD được sinh ra là các tam đồ thị làm phẳngTCD = (GS ,GC ,GT ,LinkS,LinkT) với các đồ thị thành phần được biểudiễn trong một cấu trúc đóng gói duy nhất Các mô tả ca kiểm thử TCDđược xem như là mẫu để tạo ra các ca kiểm thử cụ thể hoặc được dịch sangcác biểu thức phân loại nhị phân để hỗ trợ kiểm thử tự động
Trang 21Chương 5 Phương pháp kiểm thử dựa trên tập luật chuyển 18
Thuật toán 5.1 Tìm kiếm chuỗi luật tiềm năng có khả năng áp dụng Đầu vào: TR = (tr1F, tr F
2 , , tr F
n ) tập các luật chuyển đổi tiến
t (t > 2) biến số nguyên chỉ định chiều dài chuỗi luật
SI tập các chuỗi luật thỏa mãn bao phủ (t − 1), mỗi chuỗi luật si ∈ SI bao gồm (t − 1) luật có thứ tự.
PI : một tập các cặp luật độc lập song song
SD : tập các cặp luật phụ thuộc tuần tự
Đầu ra : SO : tập chuỗi áp dụng luật tiềm năng có khả năng áp dụng, mỗi chuỗi luật bao gồm
Thuật toán 5.2 Sinh mô tả ca kiểm thử từ chuỗi luật bao phủ t − way
Đầu vào: RSs = Tập các chuỗi luật chuyển tiến có thứ tự rs F = (tr F