Sau quá trình điều chỉnh mã nguồn chương trình, ta thu được tệp thực thi của chương trình và tệp dữ liệu thơng tin về các câu lệnh được điều chỉnh. Tệp dữ liệu thơng tin có định dạng như Bảng 3.6. Tệp dữ liệu này chứa thông tin về phiên bản công cụ, số lượng loại phổ được điều chỉnh, thư mục chứa mã nguồn, danh sách các tệp mã nguồn và danh sách thông các câu lệnh được điều chỉnh.
Bảng 3.6: Dữ liệu về các câu lệnh được điều chỉnh
1 0 /home/zh/Siemens-suite/replace/v1/replace.c 1 0 replace.c 0 0 0 0 0 46 - 0 0 1 0 0 47 - 0 0 2 0 0 57 - 0 0 3 0 0 60 - 0 0 4 0 0 61 - 0 0 5 0 0 64 - 0 0 6 0 0 73 - 0 0 7 0 0 74 - 0 0 8 0 0 76 - 0 0 9 0 0 80 - 0 0 10 0 0 81 -
Đầu vào cho quá trình xử lý dữ liệu phổ bao gồm tệp dữ liệu thông tin về các câu lệnh được điều chỉnh, tệp kết quả thành công/thất bại của các ca kiểm thử và dữ liệu về phổ được tạo ra khi thực hiện kiểm thử. Công cụ thực hiện xử lý dữ liệu phổ để xác định từng câu lệnh của chương trình có được thực thi hay khơng cho mỗi ca kiểm thử. Sau đó, cơng cụ áp dụng biểu thức tính độ nghi ngờ (tại Bảng 2.2) theo kỹ thuật đã được lựa chọn để xây dựng bảng xếp hạng nghi ngờ của chương trình. Khi sử dụng cơng cụ HiFa bằng giao diện dịng lệnh, bảng xếp hạng nghi ngờ được hiển thị như Hình 3-8. Bảng xếp hạng trong Hình 3-8 thể hiện xếp hạng nghi ngờ sử dụng kỹ thuật OCHIAI cho chương trình hello có mã nguồn là hello.c. Loại phổ được sử dụng để định vị lỗi là Statement (hay ESHS). Chương trình hello có 12 câu lệnh có thể thực thi, câu lệnh tại dịng thứ 10 trong mã nguồn hello.c có độ nghi ngờ là 0.577350 và được xếp hạng cao nhất.
Hình 3-8: Bảng xếp hạng nghi ngờ được tạo ra khi sử dụng HiFa ở giao diện dòng lệnh
Công cụ HiFa cung cấp một giao diện đồ hoạ người dùng (GUI) cho phép lập trình viên xem đồng thời mã chương trình và mức độ nghi ngờ của từng dịng lệnh. Hình 3-9 thể hiện giao diện đồ hoạ người dùng của công cụ HiFa. Giao diện này hiển thị tồn bộ mã nguồn của chương trình cùng với thơng tin về độ nghi ngờ và xếp hạng nghi ngờ của từng câu lệnh. Công cụ sử dụng dải màu (Hình 3-10) từ xanh sang đỏ để thể hiện xếp hạng nghi ngờ cho mỗi câu lệnh. Câu lệnh có màu càng gần màu đỏ thì có xếp hạng nghi ngờ càng cao tương đương với khả năng gây lỗi của câu lệnh này càng cao. Ngược lại, câu lệnh có màu gần màu xanh sẽ được đánh giá ít là nguyên nhân gây ra lỗi. Với giao diện đồ hoạ người dùng này, lập trình viên có thể dễ dàng quan sát và kiểm tra các câu lệnh hơn.
Hình 3-10: Dải màu thể hiện xếp hạng nghi ngờ
Chương 4 Thử nghiệm và đánh giá
Chương này trình bày chi tiết về các thử nghiệm thực tế của công cụ định vị lỗi HiFa với các bộ dữ liệu phổ biến. Sau đó, kết quả thử nghiệm được trình bày, đánh giá và phân tích.