Tổng quan về luận án

Trong kỹ nghệ phần mềm hiện đại, chi phí dành cho hoạt động kiểm thử và đảm bảo chất lượng thường chiếm tới 50% tổng kinh phí phát triển dự án. Đối với các hệ thống nhúng quy mô lớn và hệ thống điều khiển thời gian thực có yêu cầu độ toàn vẹn cao (safety-critical systems), việc phát hiện sai sót ở giai đoạn muộn tại mức mã nguồn (source code) dẫn đến chi phí khắc phục tăng theo cấp số nhân. Môi trường Simulink/Matlab đã trở thành chuẩn công nghiệp thực tế trong mô hình hóa, mô phỏng và tự động sinh mã từ các thiết kế mức kiến trúc. Tuy nhiên, các kỹ thuật kiểm thử truyền thống như kiểm thử hộp trắng dựa trên độ bao phủ dòng lệnh (statement coverage) hay độ bao phủ quyết định/nhánh (branch coverage) chỉ đo lường việc thực thi đường dẫn mà chưa phản ánh được năng lực phát hiện lỗi ngữ nghĩa tiềm ẩn trong thiết kế khối (block diagram).

Khoảng trống nghiên cứu (research gap) cốt lõi xuất phát từ việc thiếu vắng một khung lý thuyết và bộ công cụ kiểm thử đột biến (Mutation Testing) chuyên biệt hóa cho ngôn ngữ thiết kế mức mô hình Simulink, cũng như sự bùng nổ chi phí tính toán khi thực thi hàng nghìn biến thể đột biến trên mô hình động. Luận án "Kiểm thử đột biến trong môi trường Simulink/Matlab" của tác giả Lê Thị Mỹ Hạnh (chuyên ngành Khoa học máy tính, mã số 62 48 01 01, dưới sự hướng dẫn khoa học của PGS. Nguyễn Thanh Bình và PGS. Đoàn Văn Ban tại Đại học Đà Nẵng, 2015) đã giải quyết triệt để bài toán này.

Mục tiêu nghiên cứu được cụ thể hóa thành 4 câu hỏi và giả thuyết khoa học:

  1. RQ1 / H1: Có thể xây dựng một hệ thống toán tử đột biến tối thiểu nhưng toàn diện đại diện cho các lớp lỗi thiết kế điển hình trên các khối cơ bản của mô hình Simulink dựa trên lý thuyết phân loại lỗi của Kuhn?
  2. RQ2 / H2: Việc thông dịch trực tiếp cấu trúc mô hình kết hợp kiến trúc tính toán song song có thể triệt tiêu sự tắc nghẽn thời gian trong quy trình thực thi đột biến tự động?
  3. RQ3 / H3: Không gian tìm kiếm dữ liệu thử thỏa mãn độ bao phủ đột biến có thể được tối ưu hóa vượt trội thông qua việc lai ghép giữa giải thuật di truyền và hệ miễn dịch nhân tạo?
  4. RQ4 / H4: Tỷ lệ đột biến đạt được từ bộ dữ liệu thử tự động có khả năng phát hiện lỗi mô hình hóa tương đương hoặc vượt trội so với các kỹ thuật kiểm thử cấu trúc cổ điển.

Khung lý thuyết của luận án tích hợp hai trụ cột nền tảng: Giả thuyết lập trình viên giỏi (Competent Programmer Hypothesis - CPH) và Giả thuyết hiệu ứng liên kết (Coupling Effect Hypothesis - CEH). Phạm vi thực nghiệm của công trình bao quát trên 10 mô hình Simulink chuẩn công nghiệp và học thuật (tiêu biểu như Constant_Accel, Motor_Model, Quadratic_v1, Quadratic_v2, Tiny, Check_Input, SmplSw, RandMdl, Smoke_Detector, Calc-Start-Progress), triển khai phân tích hàng chục nghìn đột biến với tác động định lượng giúp gia tăng tỷ lệ bao phủ đột biến lên trên 95% và rút ngắn thời gian thực thi đột biến gấp nhiều lần thông qua tính toán song song đa lõi.

Literature Review và Positioning

Kiểm thử đột biến được Dick Lipton khởi xướng vào năm 1971, sau đó được hình thức hóa và phát triển đột phá bởi DeMillo, Lipton và Sayward (1978). Kỹ thuật này đánh giá chất lượng bộ dữ liệu thử $T$ thông qua chỉ số Tỷ lệ đột biến (Mutation Score - $MS$), được xác định theo công thức hình thức: $$MS(P, T) = \frac{D}{N - E}$$ Trong đó $D$ biểu diễn số lượng đột biến bị diệt (killed mutants), $N$ là tổng số lượng đột biến được sinh ra, và $E$ là số lượng đột biến tương đương (equivalent mutants).

Trong lịch sử phát triển, các luồng nghiên cứu chính đã định hình lĩnh vực:

  1. Luồng kiểm thử đột biến mã nguồn: Bắt đầu từ hệ thống Mothra cho ngôn ngữ Fortran với 22 toán tử đột biến chuẩn do Offutt và King (1987) đề xuất; mở rộng sang ngôn ngữ Ada với 65 toán tử của Offutt và cộng sự (1997); ngôn ngữ ANSI C với 77 toán tử của Agrawal và cộng sự (1989); ngôn ngữ Java hướng đối tượng với các toán tử đột biến lớp (class-level mutation) của Kim, Ma, Offutt (2000, 2001) và Chevalley (2001); ngôn ngữ C# với công cụ CREAM của Derezinska (2007); câu lệnh SQL với SQLMutation của Tuya (2006) và MUSIC của Zulkernine, Shahriar (2008); cùng ngôn ngữ AspectJ cho lập trình hướng khía cạnh (AOP) của Baekken, Alexander (2006) và Ferrari (2008).
  2. Luồng kiểm thử đột biến đặc tả và mô hình: Khởi xướng qua các nghiên cứu đột biến biểu thức vị từ của Gopal và Budd (1983), đặc tả đại số của Woodward (1993), máy trạng thái hữu hạn (FSM) và biểu đồ trạng thái (Statechart) của Fabbri và cộng sự (1994, 1999) trên công cụ Proteum, máy trạng thái hữu hạn xác suất (PFSM) của Hierons và Merayo (2009), cùng các mô hình hệ thống thời gian thực và Lustre (du Bousquet, 1999).

Các tranh luận khoa học lớn tồn tại xoay quanh hai trường phái:

  • Tranh luận 1 (Hiệu quả chi phí vs Độ toàn diện): Chiến lược giảm số lượng đột biến bằng Lấy mẫu đột biến (Mutant Sampling - Acree 1979, Budd 1980, Wong 1995 chỉ ra lấy mẫu 10% giữ được 96-99% độ chính xác) đối lập với kỹ thuật Đột biến lựa chọn ($N$-Selective Mutation của Mathur 1991, Offutt 1996 rút gọn còn 5 toán tử biểu thức ABS, AOR, LCR, ROR, UOI đạt $MS \approx 99.51%$) và Gom cụm đột biến (Mutation Clustering - Hussain 2008, Ji 2009).
  • Tranh luận 2 (Đột biến bậc một FOM vs Đột biến bậc cao HOM): Jia và Harman (2008, 2009) cùng Polo (2009), Langdon (2010) chứng minh Đột biến bậc cao bao hàm mạnh (Strongly Subsuming Higher Order Mutant - SSHOM) có thể mô phỏng các lỗi tinh vi và giảm 50% số lượng đột biến dư thừa so với việc chỉ áp dụng đơn lẻ các biến thể bậc một (First Order Mutant - FOM).

Luận án định vị chính xác tại điểm giao thoa giữa kiểm thử đột biến đặc tả mức mô hình khối và tối ưu hóa tính toán trong kỹ thuật phần mềm. So với hai nghiên cứu quốc tế tiêu biểu cùng thời kỳ:

  • Công cụ Proteum (Fabbri et al.): Chỉ tập trung vào FSM/Statecharts trên nền tảng C thuần túy, không hỗ trợ kiểu dữ liệu liên tục và các khối toán tử tín hiệu động học phức tạp.
  • Nghiên cứu của Zhan và Clark (2005) về sinh dữ liệu thử cho Simulink: Sử dụng thuật toán tìm kiếm cục bộ dựa trên độ bao phủ cấu trúc đường dẫn (branch coverage), chưa tích hợp cơ chế đánh giá lỗi dựa trên đột biến và thiếu khả năng phát hiện lỗi ngữ nghĩa vi mô. Luận án của Lê Thị Mỹ Hạnh đã vượt lên bằng cách thiết kế trực tiếp hệ thống toán tử đột biến mức khối Simulink và xây dựng giải pháp tự động hóa toàn diện từ sinh đột biến đến tối ưu hóa sinh dữ liệu thử thông minh.

Đóng góp lý thuyết và khung phân tích

Đóng góp cho lý thuyết

Luận án mở rộng hai lý thuyết cốt lõi sang miền ngôn ngữ đồ họa luồng dữ liệu (Dataflow Visual Language) của Simulink:

  1. Mở rộng Giả thuyết lập trình viên giỏi (CPH): Luận án chứng minh rằng các kỹ sư thiết kế mô hình hệ thống điều khiển nhúng thường tạo ra các mô hình rất gần với thiết kế chuẩn xác; sai số chủ yếu xuất hiện dưới dạng các thay đổi cú pháp nhỏ tại các tham số khối (block parameters), toán tử logic, toán tử quan hệ hoặc kết nối đường truyền tín hiệu (signal routing).
  2. Mở rộng Giả thuyết hiệu ứng liên kết (CEH): Offutt (1992) khẳng định: "Lỗi phức tạp được liên kết bởi các lỗi đơn giản theo cách mà một bộ dữ liệu thử có thể phát hiện tất cả các lỗi đơn giản trong một chương trình sẽ phát hiện các lỗi phức tạp với một tỷ lệ cao". Luận án chứng minh nguyên lý này hoàn toàn đúng đắn trên không gian trạng thái của mô hình động Simulink: việc tiêu diệt các đột biến đơn lẻ trên khối logic/toán học sẽ kéo theo việc phát hiện các lỗi ghép tầng phức tạp trong cấu trúc điều khiển.

Khung khái niệm phân cấp lỗi được chuẩn hóa dựa trên kiến trúc lớp lỗi của Kuhn (1997), phân bổ thành 13 toán tử đột biến chuyên biệt cho Simulink:

  • Nhóm đột biến toán tử số học và quan hệ: Thay thế toán tử quan hệ (ROR), thay thế toán tử số học (AOR), đảo dấu/chèn giá trị tuyệt đối (ABS).
  • Nhóm đột biến điều khiển logic và kết nối: Thay thế bộ kết nối logic (LCR), chèn/thay đổi toán tử một ngôi (UOI), hoán đổi đường tín hiệu vào/ra.
  • Nhóm đột biến tham số khối đặc trưng Simulink: Thay đổi hằng số (CRP), thay đổi ngưỡng trễ/bão hòa, đảo cực tính bộ cộng/trừ.
       [Kiến trúc lớp lỗi Kuhn]
                 │
  ┌──────────────┼──────────────┐
  ▼              ▼              ▼
[Toán tử logic/  [Tham số khối  [Đường truyền
 số học Simulink] đặc thù]       tín hiệu]
  │              │              │
  ├─ ROR, AOR    ├─ CRP         └─ Signal Inversion/
  ├─ LCR, ABS    ├─ Gain/Offset    Switch Routing
  └─ UOI         └─ Saturation

Khung phân tích độc đáo

Khung phân tích của luận án tích hợp đa chiều 3 lý thuyết: Lý thuyết kiểm thử đột biến hình thức (Formal Mutation Theory), Lý thuyết hệ miễn dịch nhân tạo (Artificial Immune Systems - AIS / Clonal Selection Theory) và Lý thuyết giải thuật tiến hóa (Evolutionary Computation):

  • Cách tiếp cận mô hình hóa đồ thị: Chuyển đổi mô hình khối Simulink thành cấu trúc đồ thị có hướng (Directed Graph $G = (V, E)$), trong đó mỗi đỉnh $V$ đại diện cho một khối chức năng và mỗi cạnh $E$ đại diện cho một đường truyền dữ liệu/tín hiệu.
  • Phát hiện đột biến tương đương: Khắc phục giới hạn không thể quyết định (undecidability) theo chứng minh của Budd và Angluin (1982) bằng cách kết hợp cơ chế phân tích luồng điều khiển cải tiến và kỹ thuật rút gọn miền ràng buộc động (Dynamic Domain Reduction - DDR).
  • Điều kiện biên (Boundary conditions): Khung phân tích được xác lập chặt chẽ trên các khối xử lý rời rạc và liên tục cơ bản của Simulink; các khối hộp đen (black-box S-functions không công khai mã nguồn) được khoanh vùng biên xử lý thông qua giao diện tín hiệu chuẩn.

Phương pháp nghiên cứu tiên tiến

Thiết kế nghiên cứu

Nghiên cứu theo đuổi trường phái thực chứng (Positivism) kết hợp phương pháp luận thực nghiệm định lượng nghiêm ngặt (Quantitative Experimental Research):

  • Thiết kế đa tầng:
    • Tầng 1: Phân tích cú pháp và ngữ nghĩa tập tin mô hình .mdl / .slx của Simulink, trích xuất cây cú pháp trừu tượng và ma trận liên kết khối.
    • Tầng 2: Áp dụng 13 toán tử đột biến để sinh tập đột biến $M = {P'_1, P'_2, ..., P'_n}$.
    • Tầng 3: Tối ưu hóa thực thi đột biến bằng kỹ thuật thông dịch và phân tán tính toán song song.
    • Tầng 4: Tìm kiếm và tối ưu hóa bộ dữ liệu kiểm thử $T$ thông qua giải thuật lai ghép tiến hóa.
  • Tiêu chuẩn mẫu: Lựa chọn 10 mô hình Simulink có độ phức tạp từ thấp đến cao, bao gồm cả các mô hình toán học giải phương trình bậc hai (Quadratic_v1, Quadratic_v2), mô hình logic điều khiển (Check_Input, SmplSw, Tiny), mô hình hệ thống vật lý (Motor_Model, Constant_Accel, RandMdl), đại diện đầy đủ cho các miền giá trị đầu vào rời rạc, liên tục và tổ hợp điều kiện.

Quy trình nghiên cứu rigorous

Quy trình nghiên cứu được khép kín theo các giao thức thu thập và phân tích dữ liệu tự động:

  1. Giao thức sinh đột biến: Thuật toán duyệt đồ thị mô hình Simulink tự động xác định các điểm đột biến (mutation points) hợp lệ, loại trừ các đột biến sinh lỗi cú pháp làm sụp đổ trình mô phỏng (dead mutants).
  2. Giao thức kiểm soát Oracle: Sử dụng mô hình Simulink gốc làm chuẩn đối sánh hành vi; đầu ra của mô hình gốc $P(t)$ và mô hình đột biến $P'(t)$ trên cùng tập kích thích đầu vào $T$ được ghi nhận liên tục theo chuỗi thời gian mô phỏng. Đột biến $P'$ được coi là bị diệt khi tồn tại thời điểm $t_k$ sao cho $|P(t_k) - P'(t_k)| > \epsilon$ (với $\epsilon$ là ngưỡng sai số nổi cho phép).
  3. Độ tin cậy và giá trị (Validity & Reliability): Độ giá trị cấu trúc (construct validity) được đảm bảo bằng việc đối sánh trực tiếp với bộ 22 toán tử chuẩn Mothra; độ giá trị nội tại (internal validity) được kiểm soát thông qua việc lặp lại các giải thuật tìm kiếm ngẫu nhiên 30 lần độc lập để triệt tiêu sai số ngẫu nhiên; độ tin cậy được khẳng định qua tính nhất quán của hệ số hội tụ trong các thuật toán di truyền.
       [Mô hình Simulink gốc P]
                 │
       ┌─────────┴─────────┐
       ▼                   ▼
[Sinh đột biến]    [Sinh dữ liệu thử T]
(13 toán tử)        (HAIGA / GA / AIS)
       │                   │
  {Tập M: P'}              │
       │                   │
       └─────────┬─────────┘
                 ▼
      [Thực thi mô phỏng song song]
           (PCT 8/16 Workers)
                 │
      [So sánh |P(t) - P'(t)| > ε]
                 │
       ┌─────────┴─────────┐
       ▼                   ▼
  [P' bị diệt]        [P' còn sống]
(Loại bỏ khỏi M)    (Tối ưu hóa dữ liệu thử)

Data và phân tích

  • Công cụ và hạ tầng cài đặt: Hệ thống MuSimulink được phát triển hoàn chỉnh trên nền tảng MATLAB, tích hợp Parallel Computing Toolbox (PCT)MATLAB Distributed Computing Server.
  • Thuật toán sinh dữ liệu thử tiên tiến:
    • Đề xuất thuật toán lai di truyền miễn dịch nhân tạo HAIGA (Hybrid Artificial Immune Genetic Algorithm), kết hợp toán tử đột biến gen/lai ghép của Genetic Algorithm (GA) với nguyên lý chọn lọc dòng vô tính và đột biến siêu cấp (hypermutation) của Clonal Selection Algorithm (CLONALG / AIS), cùng cơ chế làm nguội của giải thuật luyện kim (Simulated Annealing - SA).
  • Kiểm định độ mạnh (Robustness checks): So sánh hiệu năng đối đầu trực tiếp giữa 4 giải thuật: Sinh ngẫu nhiên thích nghi (Adaptive Random Testing), GA thuần túy, AIS/CLONALG thuần túy, và thuật toán đề xuất HAIGA trên từng lớp mô hình thực nghiệm với các bộ tham số kích thước quần thể ($N = 50, 100$), xác suất lai ghép ($P_c = 0.8$), xác suất đột biến gen ($P_m = 0.05$), và tỷ lệ chọn lọc dòng vô tính.

Phát hiện đột phá và implications

Những phát hiện then chốt

  1. Xác lập và chuẩn hóa 13 toán tử đột biến đặc thù cho Simulink: Phân tích thực nghiệm trên các mô hình Constant_Accel, Motor_Model, Tiny, Quadratic_v2 chứng minh bộ 13 toán tử này bao phủ toàn diện các sai sót mô hình hóa mà không tạo ra đột biến dư thừa ngoài tầm kiểm soát cú pháp.
  2. Đột phá về tốc độ thực thi đột biến song song: Kỹ thuật phân tán thực thi đột biến sử dụng Parallel Computing Toolbox (PCT) với cấu hình 8 workers và 16 workers đã mang lại sự gia tăng tốc độ gần như tuyến tính (linear speedup). Thời gian thực thi hàng nghìn đột biến giảm từ nhiều giờ xuống chỉ còn vài phút, triệt tiêu rào cản tính toán lớn nhất của kiểm thử đột biến mức mô hình.
  3. Ưu thế vượt trội của thuật toán lai HAIGA: Trên các mô hình có độ phức tạp cao và chứa nhiều đột biến "ngoan cố" (hard-to-kill mutants) như Quadratic_v2Tiny:
    • Thuật toán HAIGA đạt Tỷ lệ đột biến ($MS$) cao nhất (trên 95-98%), vượt trội rõ rệt so với GA đơn lẻ (thường dừng lại ở mức 82-87%) và AIS đơn lẻ (85-89%).
    • Số lượng thế hệ cần thiết để hội tụ đạt ngưỡng tối ưu của HAIGA giảm từ 30% đến 45% so với GA truyền thống.
    • HAIGA giải quyết triệt để hiện tượng rơi vào cực trị địa phương (local optima) nhờ cơ chế đa dạng hóa kháng thể của hệ miễn dịch nhân tạo kết hợp với khả năng khai phá không gian tìm kiếm sâu của GA.
  4. Hiện tượng đột biến khó diệt trong mô hình phi tuyến: Các đột biến nằm sâu sau các khối bão hòa (Saturation), khối lượng tử hóa (Quantizer) hoặc khối trễ (Delay) đòi hỏi các chuỗi dữ liệu thử có tính lịch sử (state-dependent test vectors), khẳng định tính ưu việt của kiểm thử đột biến so với kiểm thử ngẫu nhiên thuần túy.

Implications đa chiều

  • Về lý thuyết: Đặt nền móng hình thức cho lý thuyết kiểm thử đột biến trên các ngôn ngữ thiết kế hướng mô hình (Model-Based Design - MBD), chứng minh tính khả thi của việc đánh giá định lượng chất lượng kiểm thử ngay tại giai đoạn thiết kế kiến trúc trước khi tự động sinh mã nhị phân (C/C++ code generation).
  • Về phương pháp luận: Cung cấp một quy trình tích hợp hoàn chỉnh: Trích xuất cấu trúc $\rightarrow$ Sinh đột biến $\rightarrow$ Thực thi song song $\rightarrow$ Tìm kiếm dữ liệu thử thông minh. Mô hình này có thể chuyển giao và áp dụng trực tiếp cho các môi trường thiết kế tương đương như LabVIEW, SCADE hoặc Stateflow.
  • Về ứng dụng thực tiễn công nghiệp: Công cụ MuSimulink cho phép các doanh nghiệp phát triển phần mềm nhúng trong ngành hàng không vũ trụ, ô tô (chuẩn ISO 26262, DO-178C) tự động hóa quy trình thẩm định (verification and validation - V&V), cắt giảm ước tính 30-40% chi phí nhân công kiểm thử thủ công.
  • Khuyến nghị chính sách: Đưa tiêu chí Tỷ lệ đột biến ($MS$) trở thành chuẩn đánh giá bổ trợ bắt buộc bên cạnh độ bao phủ MC/DC (Modified Condition/Decision Coverage) trong các quy trình kiểm định phần mềm điều khiển quan trọng quốc gia.

Limitations và Future Research

Luận án thẳng thắn chỉ ra các giới hạn kỹ thuật:

  1. Quy mô tập toán tử: Bộ 13 toán tử đột biến tập trung chủ yếu vào các khối chức năng cơ bản rời rạc và liên tục; chưa bao quát toàn diện các khối chức năng chuyên sâu đa miền (Simscape, Stateflow phức tạp, hoặc hệ thống Hybrid Systems với các chuyển đổi trạng thái phi tuyến liên tục).
  2. Vấn đề đột biến tương đương: Mặc dù đã áp dụng kỹ thuật rút gọn miền ràng buộc, việc nhận dạng tự động 100% các đột biến tương đương trên các mô hình có cấu trúc phản hồi vòng kín (closed-loop feedback control systems) vẫn đòi hỏi sự can thiệp phân tích thủ công nhất định từ chuyên gia.
  3. Hạ tầng phần cứng thử nghiệm: Các thử nghiệm song song mới giới hạn ở kiến trúc đa lõi tập trung (8-16 workers) trên máy trạm đơn lẻ, chưa mở rộng sang môi trường điện toán đám mây phân tán quy mô lớn (High-Performance Cloud Computing Cluster).

Chương trình nghiên cứu 10 năm tiếp theo được định hình:

  • Hướng 1: Mở rộng bộ toán tử đột biến cho hệ thống Statecharts/Stateflow và các hệ thống điều khiển Cyber-Physical Systems (CPS).
  • Hướng 2: Ứng dụng đột biến bậc cao (HOM / SSHOM) trên Simulink kết hợp với kỹ thuật học máy (Machine Learning) để dự đoán và phân loại đột biến tương đương tự động.
  • Hướng 3: Tối ưu hóa sinh dữ liệu thử đa mục tiêu (Search-Based Software Engineering - SBSE) đồng thời tối đa hóa Tỷ lệ đột biến và tối thiểu hóa kích thước bộ kiểm thử.

Tác động và ảnh hưởng

  • Ảnh hưởng học thuật: Mở ra một nhánh nghiên cứu chuyên sâu về kiểm thử đột biến cho ngôn ngữ trực quan tại Việt Nam và khu vực; cung cấp tài liệu tham khảo chuẩn mực cho các công trình nghiên cứu sau đại học trong lĩnh vực Kỹ nghệ phần mềm và Tự động hóa.
  • Chuyển đổi công nghiệp: Cung cấp công cụ thực thi MuSimulink có khả năng tích hợp trực tiếp vào quy trình CI/CD của các tập đoàn sản xuất ô tô (Automotive Software), hệ thống điều khiển động cơ, năng lượng và viễn thông.
  • Lợi ích xã hội: Nâng cao độ tin cậy và tính an toàn của các hệ thống phần mềm nhúng điều khiển tự động, giảm thiểu nguy cơ tai nạn và sự cố kỹ thuật nghiêm trọng do lỗi phần mềm trong các hệ thống an toàn tính mạng.

Đối tượng hưởng lợi

  • Nghiên cứu sinh và học viên cao học: Tiếp cận khung lý thuyết hoàn chỉnh, các công thức toán học và phương pháp luận thiết kế thực nghiệm chặt chẽ trong kiểm thử phần mềm dựa trên tìm kiếm (SBSE).
  • Giảng viên và chuyên gia nghiên cứu phần mềm: Cơ sở giáo trình giảng dạy chuyên đề Kiểm thử phần mềm nâng cao, Kiểm thử hướng mô hình và Giải thuật tiến hóa ứng dụng.
  • Kỹ sư R&D tại các doanh nghiệp phần mềm nhúng: Ứng dụng trực tiếp quy trình và thuật toán HAIGA để tự động hóa sinh ca kiểm thử cho các dự án phát triển phần mềm điều khiển trên nền tảng MATLAB/Simulink.
  • Nhà quản lý chất lượng và kiểm toán an toàn hệ thống: Bộ công cụ định lượng khách quan để thẩm định mức độ tin cậy của các bộ dữ liệu kiểm thử trước khi nghiệm thu phần mềm.

Câu hỏi chuyên sâu

  1. Đóng góp lý thuyết độc đáo nhất của luận án là gì? Trả lời: Việc hình thức hóa và mở rộng thành công hai giả thuyết CPH và CEH từ không gian mã nguồn tuần tự sang không gian mô hình luồng dữ liệu đồ họa Simulink, định nghĩa chính xác ngữ nghĩa của lỗi đột biến trên các khối chức năng và đường truyền tín hiệu.
  2. Đột phá phương pháp luận so với các nghiên cứu tiền nhiệm? Trả lời: So với kỹ thuật CBT của Offutt (Godzilla) và các công cụ đột biến mã nguồn như Mothra hay Proteum, luận án đã kết hợp đột phá giữa kỹ thuật thông dịch mô hình với tính toán song song đa luồng (Parallel Computing Toolbox) và đề xuất thuật toán lai tiến hóa HAIGA, giải quyết đồng thời bài toán chi phí thực thi và bài toán tối ưu hóa dữ liệu thử.
  3. Phát hiện thực nghiệm gây bất ngờ nhất? Trả lời: Thuật toán di truyền thuần túy (GA) thường bị tắc nghẽn cục bộ tại các mô hình có phân nhánh điều kiện phức tạp (Quadratic_v2), trong khi việc bổ sung cơ chế miễn dịch nhân tạo (AIS) giúp thuật toán HAIGA vượt qua điểm nghẽn với tốc độ hội tụ nhanh hơn 35-45% và đạt tỷ lệ diệt đột biến trên 95%.
  4. Quy trình tái lập nghiên cứu (Replication Protocol) có được cung cấp đầy đủ không? Trả lời: Hoàn toàn đầy đủ. Luận án cung cấp chi tiết mã nguồn thuật toán, bảng tham số cấu hình của GA/SA/AIS/HAIGA, cấu trúc đồ thị của 10 mô hình Simulink thử nghiệm trong phần Phụ lục A và B, cho phép tái lập 100% các kết quả thực nghiệm.
  5. Định hướng lộ trình nghiên cứu dài hạn? Trả lời: Lộ trình hướng đến việc phát triển hệ thống kiểm thử đột biến tự trị cho các hệ thống phần mềm nhúng tự hành (Autonomous Cyber-Physical Systems), tích hợp trí tuệ nhân tạo để tự động sửa lỗi mô hình (Automated Program Repair at Model-Level).

Kết luận

Luận án "Kiểm thử đột biến trong môi trường Simulink/Matlab" của TS. Lê Thị Mỹ Hạnh là một công trình khoa học xuất sắc, mẫu mực về phương pháp nghiên cứu và có giá trị thực tiễn cao:

  1. Đã xây dựng thành công hệ thống 13 toán tử đột biến chuẩn mực đầu tiên cho ngôn ngữ mô hình hóa Simulink dựa trên lý thuyết phân lớp lỗi Kuhn.
  2. Phát triển hoàn chỉnh công cụ phần mềm tự động hóa MuSimulink, tích hợp quy trình khép kín từ sinh đột biến đến phân tích kết quả.
  3. Giải quyết triệt để điểm nghẽn chi phí tính toán thông qua giải pháp thực thi đột biến song song trên nền tảng Parallel Computing Toolbox của MATLAB.
  4. Đề xuất thuật toán lai đột phá HAIGA (kết hợp GA và AIS), chứng minh tính ưu việt tuyệt đối trong việc tự động sinh bộ dữ liệu thử đạt độ bao phủ đột biến tối đa.
  5. Khẳng định vững chắc khả năng ứng dụng thực tế của kiểm thử đột biến mức mô hình trong công nghiệp phần mềm nhúng và điều khiển tự động.
  6. Mở ra các nhánh nghiên cứu mới đầy triển vọng về kiểm thử đột biến bậc cao và đảm bảo an toàn cho các hệ thống điều khiển thông minh trong tương lai.