1. Trang chủ
  2. » Công Nghệ Thông Tin

Xử lý dữ liệu không cân bằng trong bài toán dự đoán lỗi phần mềm

10 19 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Bài viết nghiên cứu về mất cân bằng dữ liệu và sự cần thiết của việc lấy mẫu dữ liệu để xử lý dữ liệu không cân bằng. Nghiên cứu tiến hành thử nghiệm với ba kỹ thuật lấy mẫu dữ liệu để xử lý dữ liệu không cần bằng, gồm: Random Undersampling, Random Oversampling và SMOTE.

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020 DOI: 10.15625/vap.2020.00237 XỬ LÝ DỮ LIỆU KHƠNG CÂN BẰNG TRONG BÀI TỐN DỰ ĐỐN LỖI PHẦN MỀM Lê Song Tồn1, Nguyễn Thanh Bình2, Lê Thị Mỹ Hạnh3, Nguyễn Thanh Bình1 Trường Đại học Công nghệ Thông tin Truyền thông Việt - Hàn, Đại học Đà Nẵng Trường Cao đẳng Cơ điện - Xây dựng Nông Lâm Trung Bộ Khoa Công nghệ thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng lstoan@vku.udn.vn, thanhbinh@cdntrungbo.edu.vn,ltmhanh@dut.udn.vn, ntbinh@vku.udn.vn TÓM TẮT: Dự đoán lỗi phần mềm giúp dự đoán trước khả có lỗi mã nguồn, làm giảm thời gian kiểm thử, tăng chất lượng sản phẩm Các đặc trưng mã nguồn thông tin quan trọng giúp việc dự đốn lỗi phần mềm xác Tuy nhiên, nhiều liệu dự báo lỗi bị cân bằng, tức số lượng liệu lớp có chênh lệch lớn Trong báo này, nghiên cứu cân liệu cần thiết việc lấy mẫu liệu để xử lý liệu không cân Chúng tiến hành thử nghiệm với ba kỹ thuật lấy mẫu liệu để xử lý liệu không cần bằng, gồm: Random Undersampling, Random Oversampling SMOTE Các kỹ thuật áp dụng vào ba tập liệu dự báo lỗi NASA kho lưu trữ Promise Các kết thu cho thấy tính hiệu việc áp dụng mơ hình học máy kết hợp với kỹ thuật lấy mẫu để nâng cao tính xác mơ hình dự đốn lỗi phần mềm Từ khóa: Fault prediction, Undersampling, Oversampling, SMOTE I ĐẶT VẤN ĐỀ Lĩnh vực phần mềm áp dụng ngày rộng rãi phổ biến tất lĩnh vực sống, chúng sử dụng để tự động hóa vận hành hầu hết quy trình nghiệp vụ mà có Thách thức với công nghệ phần mềm đại hệ thống phần mềm ngày trở nên phức tạp tinh vi Vì vậy, việc đảm bảo chất lượng phần mềm khó khăn Trong đó, xác định lỗi dự báo lỗi phần mềm đóng vai trị quan trọng Dự đốn xác lỗi dự án phần mềm nhằm giảm thiểu rủi ro chất lượng nâng cao khả phát thành phần chương trình có tồn lỗi hay khơng Do đó, phương pháp phân loại lỗi để dự đốn khả có lỗi dựa đặc trưng tĩnh mã nguồn trở thành chủ đề nhận nhiều quan tâm cộng đồng nghiên cứu năm gần Các mơ hình dự đốn lỗi phần mềm xem giải pháp hữu ích tiết kiệm chi phí để xác định lỗi xảy Trong số mơ hình dự đoán lỗi, phương pháp sử dụng độ đo kích thước độ phức tạp mã nguồn phổ biến Các mơ hình thực thành phần mã nguồn chương trình làm sở để xác định thành phần có nguy xảy lỗi dự đoán số lỗi đoạn mã nguồn Tính chất khơng cân số mẫu liệu lớp trở thành cản trở lớn đến hiệu phương pháp học kết hợp nhiều thuật toán Để giải vấn đề này, nhiều phương pháp đề xuất để giải vấn đề phân thành hai nhóm bản: tiếp cận mức giải thuật tiếp cận mức liệu Các phương pháp tiếp cận mức giải thuật hướng tới việc điều chỉnh thuật tốn phân lớp để có hiệu cao tập liệu cân Nghiên cứu tập trung vào phương pháp tiếp cận mức liệu nhằm nhắm tới thay đổi phân bố đối tượng cách sinh thêm phần tử cho lớp thiểu số, hay giảm bớt phần tử thuộc lớp đa số để làm giảm cân lớp đối tượng Trong phần tiếp theo, chúng tơi trình bày chi tiết trình thiết lập thực nghiệm đánh giá hiệu việc có hay khơng nên sử dụng kỹ thuật lấy mẫu tập liệu toán dự đoán lỗi phần mềm Phần trình bày tổng quan liệu khơng cân toán dự đoán lỗi phần mềm; Phần trình bày chi tiết kỹ thuật lấy mẫu liệu thực nghiên cứu này; Phần mơ hình xử lý liệu khơng cân bằng; Phần trình bày cụ thể việc thiết lập thực nghiệm kết thực nghiệm, từ tính hiệu việc áp dụng kỹ thuật để nâng cao tính xác kết dự đốn lỗi phần mềm II DỰ ĐỐN LỖI PHẦN MỀM 2.1 Dự đoán lỗi phần mềm Dự đoán lỗi phần mềm (SDP – Software Defect Prediction) [1] trình xác định thành phần hệ thống phần mềm chứa lỗi hay khơng Các mơ hình SDP xây dựng ba cách tiếp cận: - Sử dụng thuộc tính đo hệ thống phần mềm gọi độ đo mã nguồn; - Sử dụng liệu lỗi từ dự án phần mềm tương tự; - Dựa vào phiên phần mềm phát hành trước Sau xây dựng, mơ hình SDP áp dụng cho dự án phần mềm tương lai xác định thành phần dễ bị lỗi hệ thống phần mềm Lê Song Tồn, Nguyễn Thanh Bình, Lê Thị Mỹ Hạnh, Nguyễn Thanh Bình 747 Việc phát triển mơ hình dự đoán lỗi phần mềm xem giải pháp ưu tiên hàng đầu Các mơ hình thường sử dụng độ đo kích thước độ phức tạp phân tích từ dịng mã lệnh chương trình để xử lý Các mơ hình dự đoán giả định lỗi xảy kích thước độ phức tạp chương trình gây Từ cơng trình trước [2], nhà nghiên cứu kỹ thuật học máy cách tiếp cận tốt để dự đoán mức độ lỗi Các mơ hình dự đốn lỗi phần mềm thường sử dụng liệu lỗi NASA có sẵn từ kho lưu trữ Promise áp dụng phương pháp xác thực chéo Theo cách tiếp cận chéo k, tập liệu ban đầu chia ngẫu nhiên thành k tập: D1, D2, , Dk; tập có kích thước xấp xỉ Kỹ thuật huấn luyện thử nghiệm với k lần Trong lần, tập sử dụng để kiểm tra tập lại sử dụng để huấn luyện mơ hình Q trình lặp lại lần k sử dụng làm tập kiểm tra Độ xác tổng thể ước tính cách lấy trung bình kết vịng lặp Mơ hình dự đốn phụ thuộc vào chất lượng liệu sử dụng, việc chọn liệu đóng vai trị quan trọng 2.2 Độ đo mã nguồn Độ đo phần mềm xem độ đo định lượng gán ký hiệu số cho đặc điểm thành phần dự đốn Chúng mơ tả nhiều thuộc tính độ tin cậy, độ phức tạp chất lượng sản phẩm phần mềm Những độ đo đóng vai trò quan trọng việc xây dựng dự báo lỗi phần mềm hiệu Độ đo mã nguồn thu thập trực tiếp từ mã nguồn phần mềm Những độ đo đánh giá độ phức tạp mã nguồn dựa giả định thành phần phần mềm phức tạp có nhiều khả chứa lỗi Có nhiều độ đo mã nguồn khác sử dụng để dự đoán lỗi phần mềm Để dự đoán số lỗi, Akiyama sử dụng số dòng mã lệnh làm độ đo [3] Tuy nhiên, sử dụng độ đo đơn giản để đo độ phức tạp sản phẩm phần mềm Vì vậy, độ đo khác [4] thường sử dụng mơ hình dự đốn lỗi Các độ đo gọi thuộc tính mã tĩnh giới thiệu McCabe [5] Halstead [6] Các thuộc tính Halstead chọn lựa độ phức tạp mã nguồn Trong khi, thuộc tính McCabe độ đo chu trình thể thiện phức tạp sản phẩm phần mềm Khác với thuộc tính Halstead, thuộc tính McCabe đo độ phức tạp cấu trúc mã nguồn Chúng thu cách tính số lượng thành phần, cung nút kết nối biểu đồ luồng điều khiển mã nguồn Mỗi nút biểu đồ luồng biểu diễn câu lệnh chương trình, cung biểu diễn lệnh rẽ nhánh Các độ đo McCabe, Halstead Akiyama độ đo tiêu biểu độ đo hướng phương thức 2.3 Tập liệu không cân Trong toán dự đoán lỗi, liệu thu liệu phân tích từ mã nguồn chương trình thường tập liệu cân Số lượng mẫu có lỗi chiếm thiểu số so với số mẫu không lỗi, điều dẫn đến việc mơ hình dự đốn lỗi tính tốn phân tích hệ thống phần mềm sai lệch, gây lỗi ý muốn Các thuật toán học phân loại tiêu chuẩn thường nghiêng lớp đa số có tỷ lệ phân loại sai cao cho trường hợp lớp thiểu số Do đó, thuật tốn học máy kỹ thuật lấy mẫu liệu cải tiến nghiên cứu nhằm giải vấn đề Mặc dù số mơ hình cho thấy có hiệu nghiên cứu thực nghiệm, mô đáp ứng tốt việc dự đốn lớp đa số lại dự đoán lớp thiểu số (các môđun bị lỗi) Vấn đề làm nảy sinh yêu cầu cần phải xây dựng tập liệu huấn luyện có tính cân loại mẫu Tuy nhiên, Menzies et al liệu khác dẫn đến độ xác dự đốn khác [8] thường độ xác phụ thuộc vào độ đo tính khác thay đổi từ liệu sang liệu khác Ngoài ra, trường hợp xảy cố dự đoán lỗi, liệu thường có vấn đề cân lớp, tức là, số lượng trường hợp đại diện cho lớp “bị lỗi” nhiều so với số lượng trường hợp đại diện cho lớp “khơng bị lỗi” Do đó, kỹ thuật lấy mẫu khác thường sử dụng để giải vấn đề Lấy mẫu liệu sử dụng để chọn, xử lý phân tích tập hợp đại diện điểm liệu để xác định mẫu xu hướng tập liệu lớn kiểm tra Nó cho phép việc lập mơ hình dự đốn phân tích liệu làm việc với lượng liệu nhỏ, quản lý được, để xây dựng thực mơ hình phân tích nhanh hơn, tạo kết có độ xác cao III XỬ LÝ DỮ LIỆU KHÔNG CÂN BẰNG VÀ CÁC KỸ THUẬT LẤY MẪU DỮ LIỆU Trong phạm vi báo này, tập trung nghiên cứu việc xử lý liệu không cân phương pháp sử dụng kỹ thuật lấy mẫu liệu 3.1 Xử lý liệu không cân Trong tốn dự đốn lỗi số lượng mẫu có lỗi chiếm thiểu số so với số mẫu không lỗi, điều dẫn đến việc mơ hình dự đốn lỗi tính tốn phân tích hệ thống phần mềm sai lệch, gây lỗi ngồi ý XỬ LÝ DỮ LIỆU KHƠNG CÂN BẰNG TRONG BÀI TOÁN DỰ ĐOÁN LỖI PHẦN MỀM 748 muốn Việc dự đoán nhãn mẫu thuộc lớp nhỏ cần thiết quan trọng Nếu mẫu thuộc lớp nhỏ có nhãn sai phần mềm phát sinh lỗi lúc nhà phát triển phần mềm phải trả chi phí nhân lực cho việc phân tích, chi phí sửa lỗi cao nhiều so với việc gán nhãn Lấy mẫu liệu đặc biệt hữu ích với tập liệu lớn để phân tích đầy đủ cách hiệu Việc xử lý liệu khơng cân mơ hình hố Hình Hình 1: Mơ hình xử lý liệu không cân Với tập liệu, mơ hình xử lý tính tốn số lượng mẫu lỗi/không lỗi tỷ lệ cân lớp Dựa vào số lượng mẫu lớp tính tốn đó, tùy theo kỹ thuật, tính tốn số lượng mẫu tăng (đối với kỹ thuật Oversampling) giảm (đối với kỹ thuật Undersampling) lai tạo (đối với kỹ thuật SMOTE) số mẫu để tập liệu cân Tiến hành áp dụng chiến lược lấy mẫu kỹ thuật lên tập liệu Việc cân liệu ảnh hưởng xấu đến mơ hình học máy vấn đề giải tốn dự đốn lỗi phần mềm Những mơ hình học tập liệu cân bằng, cho kết dự đốn khơng mong muốn Những phần mềm, ứng dụng mơ hình dự đốn cho kết khơng tốt nhà phát triển phần mềm tiêu tốn thêm thời gian chi phí để giải vấn đề mơ hình gây Nhìn chung, kỹ thuật lấy mẫu liệu sử dụng để giải tốn phân bố mẫu lớp khơng cân chia thành hai nhóm tăng mẫu giảm mẫu Các phương pháp tăng mẫu (Oversampling) bổ sung thêm mẫu cho lớp có số liệu ít, kỹ thuật giảm mẫu (Undersampling) loại bỏ bớt mẫu lớp có số lượng mẫu nhiều với mục đích thu tập liệu cân 3.2 Kỹ thuật Undersampling Undersampling nhóm kỹ thuật thiết kế để cân lớp cho tập liệu có phân phối lớp bị lệch Các kỹ thuật lấy mẫu loại bỏ mẫu liệu khỏi tập liệu lớp đa số để cân tốt với lớp thiểu số, chẳng hạn giảm độ lệch từ 1:100 xuống 1:10, 1:2 chí 1:1 Bảng trình bày số kỹ thuật thuộc nhóm Undersampling Bảng Các kỹ thuật Undersampling Random Undersampling Cluster Tomek links Kỹ thuật lấy mẫu đơn giản bao gồm chọn ngẫu nhiên mẫu liệu từ lớp đa số xóa chúng khỏi tập liệu huấn luyện Kỹ thuật loại bỏ mẫu liệu cách ngẫu nhiên Cluster phương pháp làm cho hầu hết nhóm cụm mẫu đại diện cho tổng số mẫu liên quan đến đặc tính mà muốn đo lường Chúng ta chọn vài số cụm để tiến hành nghiên cứu Tomek links loại bỏ chồng chéo không mong muốn lớp, liên kết lớp đa số loại bỏ tất cặp lân cận gần phân tách tối thiểu lớp Ý tưởng làm rõ ranh giới nhóm thiểu số đa số, làm cho (các) khu vực thiểu số trở nên khác biệt Trong phạm vi nghiên cứu này, kỹ thuật Undersampling, chọn kỹ thuật Random Undersampling để xử lý liệu khơng cân tốn dự đoán lỗi phần mềm Random Undersampling cách tiếp cận lấy mẫu đơn giản, loại bỏ ngẫu nhiên số mẫu lớp đa số để cân tập liệu [9] Chiến lược Random Undersampling: Phân tích liệu xác định lớp thiểu số đa số; Tính tốn số lượng phiên cần loại bỏ dựa tỷ lệ phần trăm mẫu; Xác định mẫu ngẫu nhiên từ lớp đa số loại bỏ khỏi lớp đa số; Lặp lại bước số lượng phiên loại bỏ theo tỷ lệ phần trăm định Dựa vào đó, cách tiếp cận cân tập liệu cách loại bỏ ngẫu nhiên mẫu khỏi tập liệu Trong trường hợp này, số lượng mẫu loại bỏ tự động tính tốn để đảm bảo tổng số mẫu lỗi Lê Song Tồn, Nguyễn Thanh Bình, Lê Thị Mỹ Hạnh, Nguyễn Thanh Bình 749 khơng lỗi cân Thuật toán cho phép đặc tả tỷ lệ phần kỹ thuật thông qua tham số u Tỷ lệ phần trăm u

Ngày đăng: 29/09/2021, 19:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w