Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Nội dung
1 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - ĐỖ ĐỨC TRUNG LUẬN VĂN THẠC SỸ KĨ THUẬT HÀ NỘI – 2016 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - ĐỖ ĐỨC TRUNG NGHIÊN CỨU PHƯƠNG PHÁP DỰ ĐOÁN LỖI PHẦN MỀM LIÊN DỰ ÁN CHUYÊN NGÀNH : MÃ SỐ: KHOA HỌC MÁY TÍNH 60.48.01 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS TỪ MINH PHƯƠNG HÀ NỘI – 2016 LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác TÁC GIẢ LUẬN VĂN ĐỖ ĐỨC TRUNG LỜI CẢM ƠN Trong suốt trình học tập thực luận văn, nhân nhiều quan tâm giúp đỡ, hướng dẫn tận tình thầy với lời động viên khuyến khích từ phía gia đình, bạn bè Tôi xin bày tỏ lời cảm ơn chân thành đến tất người Tơi xin tỏ lịng biết ơn sâu sắc đến thầy Từ Minh Phương tận tình hướng dẫn, định hướng cho tơi q trình thực đề tài Thầy cho tơi lời khuyên, dẫn, truyền đạt cho kiến thức, kinh nghiệm việc thực luận văn Tôi xin cảm ơn thầy cô khoa Quốc tế đào tạo sau đại học, học viện Công nghệ Bưu Viễn thơng tận tình dạy dỗ cho tơi kiến thức bổ ích suốt q trình hai năm học tập, giúp nâng cao chuyên mơn, làm tảng để tơi hồn thành luận văn, tự tin phát triển công việc sau Cuối cùng, muốn gửi lời cảm ơn tới gia đình bạn bè, người thân bên, cảm thông, hỗ trợ, giúp đỡ khó khăn cơng việc, sống trình học tập Hà Nội tháng 11 năm 2016 Đỗ Đức Trung MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC BẢNG BIỂUC BẢNG BIỂUNG BIỂUU DANH MỤC BẢNG BIỂUC HÌNH VẼ VÀ SƠ ĐỒ ĐỒ MỞ ĐẦU ĐẦUU .7 Chương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng 1: Tổng quan dự đoán lỗi liên dự án phần mềmng quan dự đoán lỗi liên dự án phần mềm dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi liên dự đoán lỗi liên dự án phần mềm án phần mềmn mề dự đoán lỗi liên dự án phần mềmm 11 1.1 Bài toán dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi phần mềmn mề dự đoán lỗi liên dự án phần mềmm 14 1.2 Các cách tiếp cận toán dự đoán lỗip cận toán dự đoán lỗin toán dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi 15 1.2.1 Tiếp cận dựa change logp cận dựa change logn dựa change loga change log 16 1.2.2 Tiếp cận dựa change logp cận dựa change logn kiểu single-versionu single-version 17 1.2.3 Các cách tiếp cận dựa change logp cận dựa change logn khác 18 1.3 Tổng quan dự đoán lỗi liên dự án phần mềmng quan dự đoán lỗi liên dự án phần mềm dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi phần mềmn mề dự đoán lỗi liên dự án phần mềmm sử dụng học máy dụng học máyng học máyc máy 18 1.4 Giới thiệu vấn đề dự đoán lỗi liên dự áni thiệu vấn đề dự đoán lỗi liên dự ánu vấn đề dự đoán lỗi liên dự ánn đề dự đoán lỗi liên dự án phần mềm dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi liên dự đoán lỗi liên dự án phần mềm án .20 1.5 Các phương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng pháp gần mềmn nghiên cứu để giải vấn đềc nghiên cứu để giải vấn để giải vấn đề giải vấn đềi quyếp cận toán dự đoán lỗit vấn đề dự đoán lỗi liên dự ánn đề dự đoán lỗi liên dự án phần mềm .21 1.6 Kếp cận toán dự đoán lỗit luận toán dự đoán lỗin chương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng 22 Chương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng 2: Phương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng pháp CCA áp dụng học máyng giải vấn đềi quyếp cận toán dự đoán lỗit vấn đề dự đoán lỗi liên dự ánn đề dự đoán lỗi liên dự án phần mềm dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi liên d ự đoán lỗi liên dự án phần mềm án 24 2.1 Các vấn đề dự đoán lỗi liên dự ánn đề dự đoán lỗi liên dự án phần mềm phát sinh thự đoán lỗi liên dự án phần mềmc hiệu vấn đề dự đoán lỗi liên dự ánn dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi liên dự đoán lỗi liên dự án phần mềm án 24 2.2 Trích xuấn đề dự đốn lỗi liên dự ánt đặc trưng từ mã nguồn dự ánc trưng từ mã nguồn dự án mã nguồn dự ánn dự đoán lỗi liên dự án phần mềm án .25 2.3 Giới thiệu vấn đề dự đoán lỗi liên dự áni thiệu vấn đề dự đoán lỗi liên dự ánu phương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng pháp CCA .29 2.3.1 T ng quan v phân tích tương quan tắc (Canonical Correlation Analysis)ng quan tắc (Canonical Correlation Analysis)c (Canonical Correlation Analysis) .29 2.3.2 tếp cận dựa change log ng d ng c a phân tích tương quan tắc (Canonical Correlation Analysis)ng quan tắc (Canonical Correlation Analysis)c việc giải vấn đề thực c giải vấn đề thực i quyếp cận dựa change logt vấn đề thực n đ th ựa change logc 38 2.4 Xây dự đoán lỗi liên dự án phần mềmng liệu chung cho dự án nguồn đích liệu chung cho dự án nguồn đích liệu vấn đề dự đốn lỗi liên dự ánu chung cho dự đoán lỗi liên dự án phần mềm án nguồn dự ánn đích 41 2.5 Áp dụng học máyng phương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng pháp CCA cho dự đoán lỗi liên dự án phần mềm đoán lỗi liên dự án phần mềmi liên dự đoán lỗi liên dự án phần mềm án 44 2.5.1 Áp d ng phương quan tắc (Canonical Correlation Analysis)ng pháp CCA 44 2.5.2 T ng quan v phân loại knn với khoảng cách Euclideani knn với khoảng cách Euclideani khoải vấn đề thực ng cách Euclidean 47 2.6 Kếp cận toán dự đoán lỗit luận toán dự đoán lỗin chương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng 52 Chương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng 3: Thử dụng học máy nghiệu vấn đề dự đoán lỗi liên dự ánm đánh giá 53 3.1 Thu thận toán dự đoán lỗip liệu chung cho dự án nguồn đích liệu vấn đề dự đoán lỗi liên dự ánu từ mã nguồn dự án dự đoán lỗi liên dự án phần mềm án khác 53 3.2 Các phép đánh giá 57 3.3 So sánh với thiệu vấn đề dự đoán lỗi liên dự áni phương 1: Tổng quan dự đoán lỗi liên dự án phần mềmng pháp TCA 64 3.3.1 T ng quan v phương quan tắc (Canonical Correlation Analysis)ng pháp TCA 65 3.3.2 So sánh TCA với khoảng cách Euclideani CCA 65 3.4 Độ phức tạp thời gian thực phức tạp thời gian thực hiệnc knn với khoảng cách Euclideanp thời gian thực hiệni gian thựa change logc hiệc giải vấn đề thực n 67 3.5 Kếp cận dựa change logt luận dựa change logn chương quan tắc (Canonical Correlation Analysis)ng 68 KẾT LUẬNT LUẬNN 69 DANH MỤC BẢNG BIỂUC TÀI LIỆU THAM KHẢOU THAM KHẢNG BIỂUO 70 DANH MỤC BẢNG BIỂU Bảng Bảng tổng quan liệu dự án sử dụng kiểm thử 54 Bảng Số đặc trưng tương đương công ti 56 Bảng Kết chạy cho trường hợp 1-1 62 Bảng Kết chạy cho trường hợp 1-n 63 Bảng So sánh phương pháp CCA TCA 66 Bảng So sánh kết thực nghiệm phương pháp CCA TCA .67 DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ Hình Tam giác dự án .11 Hình Biểu đồ biểu thị quan hệ tỉ lệ thành công quy mơ dự án [1] .12 Hình Mơ hình dự đoán lỗi [28] 15 Hình Tiếp cận dựa change log [29] 17 Hình Các bước xây dựng mơ hình dự đốn lỗi sử dụng học máy 20 Hình Ví dụ tìm hình ảnh [30] 39 Hình Ví dụ computer vision [30] 40 Hình Ví dụ phân đoạn hình ảnh [30] 40 Hình Xây dựng cách biểu diễn thống 44 Hình 10 Áp dụng CCA tạo khơng gian chung cho liệu nguồn đích [31] 47 Hình 11 Ví dụ toán k-nn [32] 49 Hình 12 Minh họa cho toán phân loại k-nn [32] 50 Hình 13.Minh họa với giá trị k [32] .51 Hình 14 Minh họa kết chạy thực nghiệm 61 MỞ ĐẦU Xây dựng dự án phần mềm thành công mối quan tâm hàng đầu tổ chức doanh nghiệp, doanh nghiệp công nghiệp công nghệ thông tin Đặc biệt quan trọng q trình quản lý, kiểm sốt tiến độ đảm bảo chất lượng dự án Lỗi phần phát sinh tất yếu phát triển vận hành phần mềm hệ thống Phần mềm hệ thống phức tạp xuất nhiều lỗi Lỗi tác động tới phần mềm hệ thống xây dựng vận hành theo nhiều cách khác nhau, nhẹ hệ thống hoạt động bình thường lỗi tồn tại, nặng hệ thống ngừng hoạt động xuất lỗi Do để giảm thiểu hậu lỗi gây tiết kiệm chi phí người ta cố gắng phát lỗi giai đoạn phát triển phần mềm phát sớm tốt, từ xuất phương pháp dự đoán lỗi phần mềm Một phương pháp dự đoán lỗi phần mềm quan tâm nhiều phương pháp dự đoán lỗi sử dụng học máy có giám sát sở mã nguồn liệu có q trình phát triển phần mềm Cụ thể, file mã nguồn biểu diễn đặc trưng, sau huấn luyện mơ hình phân lớp (classification) hồi quy (regrestion) liệu huấn luyện file kiểm thử lỗi dùng mơ hình để dự đoán lỗi cho file chưa kiểm thử Việc xây dựng liệu huấn luyện dễ dàng liệu xây dựng dựa mã nguồn xác định lỗi dự án thực trước có tính đồng với mã nguồn dự án đích.Vấn đề đặt mã nguồn đồng với mã nguồn dự án đích có số lượng khơng nhiều dẫn tới việc mơ hình xây dựng nên hoạt động thiếu xác Chính vậy, việc đưa phương pháp cho phép xây dựng tập liệu tận dụng liệu sẵn có dự án với mã nguồn không đồng với mã nguồn dự án đích quan trọng Một cách tiếp cận với vấn đề phương pháp CCA (canonical correlation analysis) Đề tài em tập trung vào tìm hiểu cách tiếp cận nhằm nâng cao khả dự đoán lỗi phần mềm Hiện nay, có số cách tiếp cận cho phép trích xuất kiến thức chung từ dự án chuyển sang dự án khác kiến thức dùng để huấn luyện cho mơ hình dự đoán lỗi như: TCA (Transfer Component Analyst), TCA+, … Do tốn có ý nghĩa thực tiễn cao cá nhân, tổ chức thực dự án phát triển phần mềm, hệ thống nên phương pháp dùng liệu dự án để huấn luyện cho dự án khác tiếp tục nghiên cứu Trong luận văn em nghiên cứu phương pháp CCA so sánh với phương pháp TCA đề cập Phương pháp nghiên cứu luận văn phương pháp học chuyển đổi với mục đích làm cho liệu cơng ti đích giống với cơng ti nguồn CCA phương pháp hiệu tối đa hóa tương quan liệu nguồn đích giúp nâng cao xác suất dự đoán lỗi dự án - Đối tượng: Phương pháp tiếp cận CCA dự đoán lỗi, mã nguồn dự án - Phạm vi nghiên cứu: Dự đoán lỗi mã nguồn dự án sử dụng liệu dự án khác Phương pháp nghiên cứu: - Tìm hiểu vấn đề dự đoán lỗi dự án liên dự án, khó