• Tidak ada hasil yang ditemukan

Các nghiên cứu liên quan

Dalam dokumen M c l c (Halaman 80-83)

Chương 4. PHƯƠNG PHÁP KIỂM CHỨNG HỒI QUY GIẢ ĐỊNH

4.2. Các nghiên cứu liên quan

sự cải tiến được đề xuất trong [2, 3, 18, 22, 46, 94, 102], và một sự mở rộng cho việc hỗ trợ thuộc tính sống (liveness) [36]. Tuy nhiên, những công trình nghiên cứu này sử dụng thuật toán họcL để sinh một ô-tô-mát đóng vai trò là giả định cần tìm. Do đó, các nghiên cứu này đều có chung một nhược điểm như được mô tả phía trên khi so sánh với thuật toán được đề xuất bởi Chen và cộng sự [21].

Từ những lý do trên, nghiên cứu của Chen và cộng sự [21] được sử dụng làm cơ sở để kiểm chứng phần mềm đã được tiến hóa.

của giả định đang cần tìm. Phương pháp này sinh giả định giống với giả định được sinh bởi thuật toán CBAG. Mặt khác, thuật toán LWAG có mục tiêu là sinh giả định yếu nhất cục bộ. Các giả định này được sử dụng lại hiệu quả cho việc kiểm chứng các phần mềm tiến hóa. Để sinh các giả định yếu hơn, thuật toán cần xử lý nhiều hơn. Do đó, độ phức tạp của thuật toán LWAG là lớn hơn so với độ phức tạp của thuật toán CBAG.

Thứ hai, khi kiểm chứng hồi quy cho phần mềm đã bị thay đổi, phương pháp của He và cộng sự [48] luôn cần sinh lại giả định mới dù chỉ có một sự thay đổi rất nhỏ bằng việc sinh lại biểu thức con của giả định để tương thích với biểu thức đã bị thay đổi của thành phần phần mềm. Tuy nhiên, phương pháp đề xuất trong luận án không cần sinh lại giả định cho những thay đổi nhỏ trong thành phần phần mềm vì giả định đã được sinh ra của phương pháp đề xuất là yếu hơn giả định được sinh bởi thuật toán CBAG.

Cuối cùng, He và cộng sự giả thiết rằng các mô hình của các thành phần phần mềm đã được chia nhỏ thành các biểu thức con nhỏ hơn [48]. Hơn nữa, khi thực hiện kiểm chứng hồi quy, phương pháp đề xuất bởi He và cộng sự [48]

cần so sánh toàn bộ các biểu thức con của hệ thống cả trước và sau khi thay đổi. Tuy nhiên, đây là một công việc không nhỏ trong thực tế về cả độ phức tạp của thuật toán lẫn độ phức tạp về thời gian. Trong khi đó, phương pháp sinh giả định và phương pháp kiểm chứng hồi quy cho phần mềm được đề xuất trong luận án sử dụng các mô hình thành phần phần mềm một cách trực tiếp và hiệu quả.

Groce và cộng sự đã đề xuất phương pháp gọi là kiểm chứng mô hình thích nghi (Adaptive Model Checking - AMC) [43]. Phương pháp này sử dụng các mô hình chưa đúng, được cập nhật và làm mịn liên tục để thực hiện kiểm chứng.

Tuy vậy, mô hình được sử dụng trong AMC là mô hình cho toàn bộ hệ thống.

Do đó, khi kiểm chứng hệ thống được tiến hóa, vấn đềbùng nổ không gian trạng thái có thể xảy ra, đặc biệt là khi kiểm chứng các hệ thống lớn. Hơn nữa, AMC sử dụng ô-tô-mát để mô tả hệ thống đang được kiểm chứng. Mặc dù có cùng mục đích kiểm chứng các phần mềm tiến hóa, phương pháp đề xuất trong luận án sử dụng đặc tả bằng lôgic mệnh đề cho các CBS. Ngoài ra, nghiên cứu trong luận án chỉ tập trung vào các thành phần được tiến hóa của phần mềm và cố gắng sử dụng lại kết quả kiểm chứng trước đó khi thực hiện kiểm chứng hồi quy.

Chaki và cộng sự tập trung vào kiểm chứng sự thay thế thành phần từ góc

nhìn của kiểm chứng một cách trực tiếp. Nghiên cứu này đề xuất một phương pháp kiểm chứng các hệ thống trong ngữ cảnh tiến hóa bằng cách thay thế các thành phần trong quá trình kiểm chứng [17]. Nghiên cứu trong luận án có chung mục đích với nghiên cứu của Chaki và cộng sự về kiểm chứng phần mềm trong ngữ cảnh tiến hóa. Tuy nhiên, phương pháp đề xuất có thể được sử dụng cho mọi loại thay đổi. Ngoài ra, đặc tả bằng lôgic mệnh đề của các CBS cũng được sử dụng trong nghiên cứu của luận án. Trong khi đó, Chaki và cộng sự sử dụng đặc tả bằng ô-tô-mát.

PGS. TS. Phạm Ngọc Hùng và cộng sự đã đề xuất một phương pháp sinh các giả định nhỏ nhất một cách tối ưu cho bài toán kiểm chứng giả định - đảm bảo [86, 55, 56, 57, 58]. Giả định này có thể được sử dụng để kiểm chứng hồi quy hệ thống đã được tiến hóa với chi phí nhỏ hơn nhiều [86]. Tuy nhiên, vì chi phí để sinh các giả định nhỏ nhất này rất cao, phương pháp này vẫn chưa được áp dụng nhiều cho các hệ thống lớn [58]. Các nghiên cứu này cũng đã đề xuất một phương pháp để kiểm chứng hồi quy các CBS đã được tiến hóa. Phương pháp này cũng có cùng ý tưởng sử dụng lại kết quả kiểm chứng trước đó để giảm số lần sinh lại giả định cần thiết [55, 56]. Nghiên cứu trong chương này có cùng mục đích với các nghiên cứu này để giảm chi phí kiểm chứng khi kiểm chứng hồi quy các phần mềm bằng việc sử dụng lại kết quả kiểm chứng trước đó. Việc này được tiến hành bằng cách sử dụng giả định trước đó làm điểm bắt đầu cho việc sinh giả định khi kiểm chứng hồi quy hệ thống đã được tiến hóa. Tuy nhiên, các giả định yếu hơn các giả định được sinh bởi thuật toán CBAG được sử dụng để giảm số lần cần sinh lại giả định. Trong khi đó, PGS. TS. Phạm Ngọc Hùng và cộng sự sử dụng các giả định nhỏ nhất [55]. Hơn nữa, đặc tả bằng lôgic mệnh đề được sử dụng trong chương này trong khi PGS. TS. Phạm Ngọc Hùng và cộng sự sử dụng ô-tô-mát để đặc tả các hệ thống phần mềm. Các điểm khác biệt trên làm cho phương pháp đề xuất trong chương này nhanh hơn phương pháp của PGS. TS. Phạm Ngọc Hùng và cộng sự. Do đó, phương pháp đề xuất có thể được áp dụng để kiểm chứng các hệ thống lớn trong thực tế.

Năm 2014, Menghi đã đề xuất một cách tiếp cận để mở rộng các thuật toán kiểm chứng cổ điển để kiểm chứng các hệ thống chưa hoàn chỉnh và trong ngữ cảnh tiến hóa [80]. Nghiên cứu của Menghi cố gắng đảm bảo rằng sau mỗi thay đổi, chỉ thành phần có thay đổi của hệ thống cần được kiểm chứng hồi quy để tránh việc kiểm chứng toàn bộ hệ thống từ đầu. Nghiên cứu này mở rộng nhiều

phương pháp mô hình hóa hiện có để biểu diễn sự chưa hoàn chỉnh. Nghiên cứu trong chương này có cùng ý tưởng sử dụng kết quả kiểm chứng trước đó khi kiểm chứng hồi quy các hệ thống phần mềm để tránh việc phải kiểm chứng lại từ đầu. Tuy nhiên, chương này tập trung vào sử dụng đặc tả bằng lôgic mệnh đề và giảm số lần các giả định cần được sinh lại trong quá trình kiểm chứng.

Việc này làm giảm đáng kể chi phí của quá trình kiểm chứng hồi quy khi được áp dụng nhiều lần trong vòng đời phát triển phần mềm.

Chaki và Strichman đã đề xuất ba điểm tối ưu cho thuật toán kiểm chứng giả định - đảm bảo dựa vào thuật toán học L cho các phần mềm [18]. Nghiên cứu này đưa ra các tối ưu sử dụng thông tin đã có sẵn với Teacher để giảm được nhiều câu truy vấn thành viên và truy vấn ứng viên không cần thiết. Tuy nhiên, phương pháp này sử dụng các hệ thống chuyển trạng thái được gán nhãn để đặc tả các phần mềm và cũng chưa xét việc kiểm chứng các hệ thống phần mềm trong ngữ cảnh tiến hóa. Nghiên cứu trong chương này sử dụng đặc tả bằng lôgic mệnh đề để đặc tả các phần mềm, cải tiến phương pháp sinh giả định của Chen và cộng sự [21], và áp dụng vào ngữ cảnh tiến hóa phần mềm để giảm chi phí kiểm chứng hồi quy cho các phần mềm.

Dalam dokumen M c l c (Halaman 80-83)