I. Tự động hóa sửa lỗi biến thể trong dòng sản phẩm phần mềm
Nghiên cứu này tập trung vào việc cải thiện quy trình tự động hóa trong việc phát hiện và sửa lỗi biến thể trong dòng sản phẩm phần mềm (SPL). Các hệ thống SPL ngày càng trở nên phổ biến trong phát triển phần mềm công nghiệp lớn, tuy nhiên, tính biến thể của chúng tạo ra nhiều thách thức trong việc đảm bảo chất lượng. Nghiên cứu này chỉ ra rằng mặc dù có nhiều nghiên cứu về sửa lỗi phần mềm trong các hệ thống đơn lẻ, nhưng việc sửa lỗi trong SPL vẫn còn nhiều điều chưa được khám phá. Do đó, nghiên cứu này đề xuất ba nhiệm vụ chính: phát hiện sản phẩm giả mạo, định vị lỗi biến thể và sửa lỗi biến thể.
1.1. Phát hiện sản phẩm giả mạo
Nghiên cứu giới thiệu một phương pháp gọi là Clap, nhằm phát hiện các sản phẩm giả mạo trong SPL. Clap thu thập các dấu hiệu thất bại từ các sản phẩm không thành công và đánh giá khả năng sản phẩm đang được kiểm tra có phải là giả mạo hay không. Nghiên cứu cho thấy rằng độ chính xác của việc phát hiện sản phẩm giả mạo có thể đạt tới 96%. Điều này có nghĩa là trong số mười sản phẩm được dự đoán là giả mạo, hơn chín sản phẩm được phát hiện chính xác.
1.2. Định vị lỗi biến thể
Để định vị lỗi biến thể, nghiên cứu giới thiệu phương pháp VarCop, một cách tiếp cận hiệu quả trong việc phân tích mã nguồn và kết quả kiểm tra của các sản phẩm mẫu. VarCop giúp xác định các câu lệnh nghi ngờ có liên quan đến lỗi trong hệ thống SPL. Bằng cách đánh giá sự nghi ngờ của từng câu lệnh dựa trên kết quả kiểm tra tổng thể, VarCop có thể xác định chính xác vị trí của lỗi trong hệ thống, giúp tăng cường khả năng phát hiện lỗi.
1.3. Sửa lỗi biến thể
Nghiên cứu đề xuất hai phương pháp sửa lỗi: phương pháp dựa trên sản phẩm và phương pháp dựa trên hệ thống. Phương pháp dựa trên sản phẩm sửa từng sản phẩm bị lỗi một cách độc lập, trong khi phương pháp dựa trên hệ thống sửa tất cả các sản phẩm cùng một lúc. Cả hai phương pháp đều sử dụng các quy tắc heuristic để cải thiện hiệu suất sửa lỗi. Kết quả cho thấy phương pháp dựa trên sản phẩm có hiệu suất sửa lỗi cao gấp 20 lần so với phương pháp dựa trên hệ thống.