Tỷ lệ đột biến
Bảng 1. Ví dụ về đột biến.
|
Chương trình gốc P |
Đột biến P’ |
Đột biến P’’ |
|
int max(int x,int y) { int mx=x; if (x < y) mx=y return mx; } |
int max(int x,int y) { int mx=x; if (x > y) mx=y return mx; } |
int max(int x,int y) { int mx=x; if (x >= y) mx=y return mx; } |
Sau khi tạo ra các đột biến, mỗi đột biến và chương trình gốc sẽ cùng được thực thi dưới một dữ liệu thử duy nhất, nếu kết quả đầu ra của đột biến khác với của chương trình gốc, đột biến này sẽ được gọi là bị diệt (killed). Nếu không có dữ liệu thử nào có thể diệt được đột biến, đột biến sẽ được gọi là đột biến tương đương (equivalent), tức là đột biến đó tương đương về mặt ngữ nghĩa so với chương trình gốc. Xét ví dụ phía trên, p'' là một đột biến tương đương vì p và p'' luôn cho ra kết quả giống nhau với mọi bộ dữ liệu thử. Sau khi chạy tất cả các đột biến và chương trình gốc trên bộ dữ liệu thử, một [NTB-KC1] tỉ lệ đột biến sẽ được tính toán bằng cách lấy phần trăm của số đột biến bị diệt chia cho tổng số đột biến không tương đương. Tỉ lệ đột biến (Mutation Score - MS) được tính bằng công thức sau:
Trong đó,
- : tỷ lệ đột biến;
- : là số lượng đột biến đã bị diệt;
- : là tổng số các đột biến;
- : là tổng số đột biến tương đương.
- BÌNH TĨNH TRƯỚC HỘP THƯ SỐ – NGHỆ THUẬT NHẬN DIỆN EMAIL PHISHING TỪ GÓC NHÌN NGHIỆP VỤ
- HÓA THÂN THÀNH "KẺ TẤN CÔNG": KHI HIỂU RÕ CẠM BẪY, TA PHÒNG THỦ VỮNG VÀNG HƠN
- CÁC CÔNG CỤ XÂY DỰNG GIAO DIỆN ỨNG DỤNG BẰNG TRÍ TUỆ NHÂN TẠO (AI)
- Silent Lynx khai thác lỗ hổng WinRAR để triển khai Reverse Shell nhằm tấn công các cơ quan chính phủ
- Thông tin xác thực ConnectWise bị chiếm dụng, 173 môi trường Microsoft 365 bị truy cập trái phép