Cho đến hiện nay, có rất nhiều nghiên cứu về việc áp dụng và cải tiến kiểm thử đột biến bậc cao [9-30]. Trong các nghiên cứu này, có hai hướng nghiên cứu chính dưới đây:
Nhóm thứ nhất: Mark Harman, Yue Jia và William B.Langdon [16-21]
Các tác giả đã sử dụng 2 sự thay đổi thông qua các toán tử đột biến để tạo ra các đột biến. Do đó các đột biến sinh ra được gọi là đột biến bậc 2. Có 5 nhóm tác giả đã để xuất các thuật toán khác nhau áp dụng cho kiểm thử đột biến bậc 2. Kết quả của các nhóm tác giả dưới góc nhìn các tỷ lệ (%) về việc giảm số lượng đột biến (Mutant Reduction) và giảm số lượng đột biến tương đương (Equivalent Mutant Reduction) là số lượng đột biến có thể được giảm khoảng 50% và số lượng đột biến tương đương được giảm xuống từ 40% đến 78%.
Nhóm thứ hai: Nguyen Quang Vu và Lech Madeyski [9-15]
Với nhóm tác giả này sử dụng từ đến sự thay đổi thông qua các toán tử đột biến để tạo ra các đột biến. Do đó các đột biến được gọi là đột biến bậc . Có 5 nhóm tác giả đã đề xuất việc áp dụng các thuật toán tối ưu hóa một mục tiêu và tối ưu hóa đa mục tiêu để tìm kiếm các đột biến bậc cao thích hợp, theo sự phân loại của chính họ. Các tác giả đã sử dụng lần lượt từ 2 đến 70 sự thay đổi để tạo ra các đột biến từ bậc 2 đến bậc 70. Kết quả nghiên cứu của các tác giả cho thấy các đột biến sinh ra phức tạp và khó bị diệt hơn. Điều này chứng tỏ, các đột biến đã miêu tả đúng với lỗi thực của các phần mềm hơn là các đột biến bậc 1. Ngoài ra, với các đột biến khó bị diệt, có nghĩa là chúng ta cần cải thiện chất lượng của các bộ kiểm thử nhằm có thể phát hiện ra sự khác biệt giữa đột biến và chương trình gốc. Dó đó chất lượng của các bộ kiểm thử được tăng lên so với khi kiểm thử chương trình gốc. Một kết quả đáng lưu ý của kỹ thuật kiểm thử đột biến bậc cao nữa là số lượng các đột biến tương đương đã được giảm xuống. Tuy nhiên, có một hạn chế lớn của nhóm này là số lượng các đột biến có thể tăng nhanh theo từng bậc đột biến. Ví dụ như trong phương pháp của Langdon và các cộng sự [20-21], họ đã sử dụng thuật toán NSGA-II, một thuật toán tối ưu hóa đa mục tiêu, cùng với lập trình di truyền để tìm các đột biến phức tạp và khó bị diệt hơn. Số lượng đột biến tương đương giảm rất nhiều, trong khi đó số lượng đột biến được sinh ra là một con số “khổng lồ”. Với một chương trình C đơn giản, trong đó có 17 lượt sử dụng các toán tử so sánh (bao gồm 6 toán tử so sánh <,<=, ==, !=, >=, >), sẽ có 85 đột biến bậc 1, 3400 đột biến bậc 2, 85000 đột biến bậc 3, 1487500 đột biến bậc 4,...
Qua kết quả nghiên cứu của 2 nhóm tác giả nghiên cứu về đột biến bậc cao cho thấy: Nhóm thứ nhất giảm được số đột biến tương đương nhưng số lượng đột biến sinh ra theo sự gia tăng của bậc đột biến còn rất lớn. Với kết quả của nhóm thứ hai, số lượng đột biến sinh ra đã giảm đi rất nhiều, tuy nhiên số lượng đột biến “khó bị diệt” (bao gồm cả đột biến tương đương) vẫn còn ở một mức khá lớn
» Tin mới nhất:
» Các tin khác: