Thông tin chung

  English

  Đề tài NC khoa học
  Bài báo, báo cáo khoa học
  Hướng dẫn Sau đại học
  Sách và giáo trình
  Các học phần và môn giảng dạy
  Giải thưởng khoa học, Phát minh, sáng chế
  Khen thưởng
  Thông tin khác

  Tài liệu tham khảo

  Hiệu chỉnh

 
Số người truy cập: 107,560,527

 Dự báo chất lượng của kiểm thử đột biến bậc cao dựa trên học máy
Tác giả hoặc Nhóm tác giả: Do Van Nho, Nguyen Duc Thuan, Nguyen Thi Ngoc Anh, Nguyen Quang Vu, Nguyen Thanh Binh
Nơi đăng: Kỷ yếu Hội nghị Khoa học công nghệ Quốc gia lần thứ XV về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Số: 2022;Từ->đến trang: 258-265;Năm: 2022
Lĩnh vực: Công nghệ thông tin; Loại: Bài báo khoa học; Thể loại: Trong nước
TÓM TẮT
Kiểm thử đột biến, bao gồm cả kiểm thử đột biến truyền thống (hay còn gọi là kiểm thử đột biến bậc một) và kiểm thử đột biến bậc cao được đánh giá là một kỹ thuật khả dụng trong việc đánh giá chất lượng của các ca kiểm thử để từ đó giúp nâng cao hiệu quả kiểm thử và góp phần đảm bảo chất lượng phần mềm. Có thể nói đây là một kỹ thuật tự động và rất hiệu quả trong việc phát hiện lỗi của tập các ca kiểm thử như thiếu trường hợp kiểm thử, dữ liệu kiểm thử chưa đủ tốt... Tuy nhiên, khi ứng dụng kỹ thuật kiểm thử đột biến vào thực tế, việc sinh ra một số lượng đột biến quá lớn đã dẫn đến chi phí tính toán rất cao và thời gian thực thi lớn. Nguyên nhân chính là chúng ta phải cho thực thi tất cả các đột biến (như là một phiên bản của chương trình hoàn thiện) được sinh ra trên tất cả các ca kiểm thử đã được thiết kế. Mục đích của việc thực thi này là để đánh giá hiệu quả của các ca kiểm thử bởi tỷ lệ đột biến. Tỷ lệ này được xác định bởi chỉ số MS (Mutation Score) [2] hoặc MSI (Mutation Score Indicator) [5]. Từ đó đặt ra một vấn đề liệu rằng chúng ta có thể dự báo trước một cách có cơ sở và chính xác tỷ lệ đột biến này mà không cần thực hiện việc thực thi các đột biến nói trên hay không. Nếu làm được điều này, sẽ tiết kiệm rất nhiều thời gian và công sức nhưng vẫn đảm bảo được chất lượng của kiểm thử đột biến trong việc đánh giá khả năng phát hiện lỗi của tập các ca kiểm thử cho trước. Trong bài báo này, chúng tôi đề xuất một giải pháp ứng dụng học máy để thực hiện việc dự báo tỷ lệ đột biến. Giải pháp của chúng tôi dựa trên cây cú pháp trừu tượng của mã nguồn để trích xuất các đặc trưng và áp dụng các thuật toán Logistic Regression và Random Forest Classifier để dự báo các đột biến bị diệt. Kết quả thử nghiệm giải pháp trên các chương trình Python rất khả quan và có độ tin cậy cao. Như thế, giải pháp có thể áp dụng để giảm chi phí kiểm thử đột biến.
ABSTRACT
Mutation testing, which includes both traditional mutation testing (also known as first-order mutation testing) and higher-order mutation testing, is considered a viable technique in assessing the quality of test cases to help improve testing efficiency, and contribute to software quality assurance. It can be said that this is a very effective automated-technique in detecting errors of test suite such as missing test cases, test data is not good enough,... However, when applying mutation testing techniques in practice, the production of a large number of mutants leads to a very high computational cost and large execution time. The main reason is that we have to execute all generated mutants (faulty versions of the original program) on all the designed test cases. The
purpose of this implementation is to evaluate the effectiveness of the test cases through mutation score. This ratio is assessed through the MS (Mutation Score) [2] or MSI (Mutation Score Indicator) [5]. This raises the question of whether we can reliably and accurately predict this mutation score without performing the above-mentioned mutation testing implementation. If this can be done, it will save a lot of time and effort but still ensure the quality of mutation testing in evaluating the ability to detect errors of a given set of test cases. In this paper, we propose a solution to perform mutation score prediction based on machine learning. Our approach is based on the abstract syntax tree of the source code to extract the features and applies the Logistic Regression and Random Forest Classifier algorithms to predict the killed mutants. The experimental results on some Python programs are very promising and have high reliability. Hence, the approach can be applied to reduce the cost of mutation testing.
© Đại học Đà Nẵng
 
 
Địa chỉ: 41 Lê Duẩn Thành phố Đà Nẵng
Điện thoại: (84) 0236 3822 041 ; Email: dhdn@ac.udn.vn