Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
2,74 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN MẬU HẢI DỰ ĐOÁN LỖI PHẦN MỀM DỰA TRÊN ĐỘ ĐO MÃ NGUỒN SỬ DỤNG KỸ THUẬT HỌC KẾT HỢP Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 8480101 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Lê Thị Mỹ Hạnh Đà nẵng, 08/2019 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 Nguyễn Mậu Hải MỤC LỤC MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT VÀ CỤM TỪ DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VÀ ĐỒ THỊ TỔNG QUAN Đặt vấn đề Mục tiêu nội dung nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn CHƯƠNG I: ĐỘ ĐO MÃ NGUỒN VÀ BÀI TOÁN DỰ ĐOÁN LỖI 11 1.1 Bài toán dự đoán lỗi 11 1.2 Quản lý lỗi phần mềm 11 1.3 Hướng tiếp cận dự đoán lỗi phần mềm 12 1.4 Độ đo mã nguồn 13 CHƯƠNG II: CÁC KỸ THUẬT HỌC MÁY 18 2.1 Học có giám sát 19 2.1 Học khơng có giám sát 21 2.2 Các yếu tố cần xem xét lựa chọn áp dụng thuật toán học máy 23 2.3 Thuật toán Cây định 24 CHƯƠNG III: DỰ ĐOÁN LỖI PHẦN MỀM DỰA TRÊN HỌC MÁY 29 3.1 SDP dựa học máy 29 3.2 Tiền xử lý liệu 29 3.3 Kỹ thuật Ensemble learning 30 3.4 Các thuật toán Ensembles learning cho SDP 31 3.5 Đánh giá phương pháp dự đoán (Prediction Method evaluation) 39 CHƯƠNG IV: ĐÁNH GIÁ THỰC NGHIỆM CÁC PHƯƠNG PHÁP HỌC KẾT HỢP 43 4.1 Tập liệu dự đoán lỗi phần mềm 43 4.2 Xây dựng mơ hình 43 4.3 Tiêu chí đánh giá hiệu suất số liệu phần mềm 45 4.4 Kết thực nghiệm 45 4.5 Xây dựng website hỗ trợ dự đoán lỗi 51 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53 TÀI LIỆU THAM KHẢO 56 DỰ ĐOÁN LỖI PHẦN MỀM DỰA TRÊN ĐỘ ĐO MÃ NGUỒN SỬ DỤNG KỸ THUẬT HỌC KẾT HỢP Học viên: Nguyễn Mậu Hải, Chuyên ngành: Khoa học máy tính Mã số: 8480101, Khóa: K35 – KHMT, Trường Đại học Bách khoa - ĐHĐN Tóm tắt – Lỗi phần mềm gây ảnh hưởng đến thời gian, chất lượng, chi phí, cơng sức lãng phí nguồn lực Phát lỗi giai đoạn đầu trình phát triển phần mềm để khắc phục sữa chữa sớm đòi hỏi để cải thiện chất lượng, làm tăng hiệu phát triển phần mềm Có nhiều nghiên cứu, áp dụng kỹ thuật Học máy để xây dựng cơng cụ dự đốn lỗi cịn nhiều vấn đề hạn chế phát huy khía cạnh kỹ thuật phát triển phần mềm Luận án nhìn nhận tổng quan lĩnh vực quản lý lỗi phần mềm dự đốn lỗi, tìm hiểu thuật tốn Học máy, đồng thời áp dụng kỹ thuật học kết hợp (ensemble learning) để dự đoán, phát lỗi giúp khắc phục sớm nhằm cải thiện chất lượng phần mềm Các kỹ thuật học máy liên quan đến dự đoán lỗi giới thiệu, đặc biệt học có giám sát Các thuật toán Dicision Tree, Random Forest, Boosting, Bagging, AdaBoost nghiên cứu để áp dụng Các kỹ thuật học kết hợp triển khai mơ hình Kỹ thuật Stacking xây dựng dựa mơ hình emsembles học sở sau sử dụng Meta-Classifier tổng hợp kết đưa kết cuối Việc đánh giá mơ hình độ tin cậy thuật toán thực dựa phép đo F1, ROC, AUC thời gian huấn luyện Với kết trên, tác giả hướng thử nghiệm tối ưu hóa, tiến đến xây dựng cơng cụ dự đoán lỗi để áp dụng thực tế sản xuất phần mềm doanh nghiệp Từ khóa – Dự đoán lỗi phần mềm, học kết hợp, độ đo mã nguồn, số liệu phần mềm, kiểm thử phần mềm SOFTWARE DEFECT PREDICTION BASED ON THE SOURCE CODE MEASUREMENT METHOD USING THE ENSEMBLES LEARNING Abstract - Software defect affect time, quality, cost, effort and waste of resources Detecting errors in the early stages of software development to repair and fix early is one of the requirements to improve quality, increase efficiency software development There are many studies, using machine learning techniques to build software defect prediction tools, but there are still many problems or can be only promote in a certain aspect in software development techniques This thesis also provides an overview in the fields of software error management and defects prediction, understanding machine learning algorithms and applying techniques of ensemble learning to predict and detect errors fix early to improve software quality Machine learning techniques related to software defects prediction are introduced, especially supervised learning Decision Tree, Random Forest, Boosting, Bagging, AdaBoost algorithms are studied to apply Ensemble learning techniques are deployed by models The Stacking technique is built upon the emsembles models as the base learner and then uses the Meta-Classifier to summarize the results to produce the result final The evaluation of the model and the reliability of the algorithm is done based on F1, ROC, AUC and training time measurements With the above results, the author directs testing and optimization, proceeding to build an error prediction tool to apply in actual software production of enterprises Key words – Software defect prediction; ensembles learning; source code measurement, software metrics; software testing DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT VÀ CỤM TỪ Tiếng Anh Tiếng Việt Analysis of variance Phân tích phương sai Bar chart Biểu đồ Binomial distribution Phân phối nhị phân Box plot Biểu đồ hình hộp Categorical variable Biến thứ bậc Clock chart Biểu đồ đồng hồ Coefficient of correlation Hệ số tương quan Coefficient of determination Hệ số xác định bội Coefficient of heterogeneity Hệ số bất đồng Combination Tổ hợp Confidence interval Khoảng tin cậy Continuous variable Biến liên tục Correlation Tương quan Covariance Hợp biến Cross Project Defect Prediction - CPDP Dự đoán lỗi liên dự án Cross-over experiment Thí nghiệm giao chéo Cumulative probability distribution Hàm phân phối tích lũy Data mining Khai phá liệu Decision Tree Cây định Degree of freedom Bậc tự Determinant Định thức Discrete variable Biến rời rạc Dot chart Biểu đồ điểm DS Cây định Ensembles Learning Học kết hợp Estimate Ước số Estimator Bộ ước tính Factorial analysis of variance Phân tích phương sai cho thí nghiệm giai Feature Đặc trưng Fixed effects Ảnh hưởng bất biến Forcement Learning Học tăng cường Frequency Tần số Function Hàm Heterogeneity Không đồng Histogram Biểu đồ tần số Homogeneity Đồng Hypothesis test Kiểm định giả thiết Inverse matrix Ma trận nghịch đảo K-NN K - Hàng xóm gần Latin square experiment Thí nghiệm hình vng Latin Least squares method Phương pháp bình phương nhỏ Linear Logistic regression analysis Phân tích hồi qui tuyến tính logistic Linear regression analysis Phân tích hồi qui tuyến tính Machine Learning Học máy Matrix Ma trận Maximum likelihood method Phương pháp hợp lí cực đại Mean Số trung bình Median Số trung vị Meta-analysis Phân tích tổng hợp Missing value Giá trị khơng Model Mơ hình Multiple linear regression analysis Phân tích hồi qui tuyến tính đa biến NB Nạve Bayer Normal distribution Phân phối chuẩn Object Đối tượng Parameter Thơng số Permutation Hốn vị Pie chart Biểu đồ hình tròn Poisson distribution Phân phối Poisson Polynomial regression Hồi qui đa thức Probability Xác suất Probability density distribution Hàm mật độ xác suất P-value Trị số P Quantile Hàm định bậc Random effects Ảnh hưởng ngẫu nhiên Random Forest Rừng ngẫu nhiên Random variable Biến ngẫu nhiên Relative risk Tỉ số nguy tương đối Repeated measure experiment Thí nghiệm tái đo lường Residual Phần dư Residual mean square Trung bình bình phương phần dư Residual sum of squares Tổng bình phương phần dư Scalar matrix Ma trận vơ hướng Scatter plot Biểu đồ tán xạ Semi-Supervised Learning Học bán giám sát Significance Có ý nghĩa thống kê Simulation Mơ Software Defect Prediction Dự đốn lỗi phần mềm Standard deviation Độ lệch chuẩn Standard error Sai số chuẩn Standardized normal distribution Phân phối chuẩn chuẩn hóa Supervised Learing Học có giám sát Survival analysis Phân tích biến cố SVM Máy véc tơ hỗ trợ Traposed matrix Ma trận chuyển vị Unsupervised Learning Học khơng có giám sát Variable Biến (biến số) Variance Phương sai Weight Trọng số Weighted mean Trung bình trọng số With-in Project Defect Prediction - WPDP Dự đoán lỗi bên dự án DANH MỤC CÁC BẢNG Bảng Số liệu dùng để đo lường đặc trưng lỗi phần mềm 15 Bảng Kết thuật toán học kết hợp Cây định 46 Bảng Kết F1 thuật toán Stacking 47 Bảng Kết AUC thuật toán Stacking 48 Bảng Kết thời gian huấn luyện thuật toán Stacking 49 DANH MỤC CÁC HÌNH VÀ ĐỒ THỊ Hình Các nhóm tham số khác độ đo cơng nghệ phần mềm 13 Hình Thuật tốn học máy 18 Hình Cây thể sống tàu Titanic 25 Hình Phân loại Bagging tập liệu Iris với hai ước tính sở: DS k-NN 33 Hình Các Rừng ngẫu nhiên 34 Hình AdaBoost sử dụng sơ ước tính sở khác 36 Hình Stacking sử dụng nhiều loại học khác 38 Hình Mơ tả trực quan đường cong ROC 41 Hình Mơ hình Boosting cho thuật toán AdaBoost Gradient Boosting 44 Hình 10 Mơ hình Bagging cho thuật tốn Random Forest Bagging 44 Hình 11 Mơ hình stacking 45 Hình 12 Đường cong ROC ứng với thuật toán học kết hợp 50 Hình 13 Giao diện ứng dụng web hỗ trợ dự đoán lỗi 51 Hình 14 Báo cáo kết dự đoán lỗi phần mềm 52 TỔNG QUAN Đặt vấn đề Dự đoán lỗi phần mềm (Software Defect Prediction – SDP) đóng vai trị quan trọng hoạt động nghiên cứu lĩnh vực kỹ thuật phần mềm Lỗi phần mềm lỗi, lỗ hổng, sai sót, cố sai lầm tạo phần mềm gây kết sai khác mong đợi Các yếu tố liên quan lỗi phần mềm không phát giai đoạn đầu việc phát triển phần mềm gây nguy ảnh hưởng lớn đến thời gian, chất lượng, chi phí, cơng sức lãng phí nguồn lực Lỗi xảy giai đoạn trình phát triển phần mềm Các nhà sản xuất phần mềm cố gắng tập trung vào chất lượng phần mềm, đặc biệt giai đoạn đầu trình phát triển Mục tiêu để xác định sửa chữa lỗi giai đoạn đầu vòng đời phát triển phần mềm (SDLC) Để cải thiện chất lượng phần mềm, kỹ thuật Học máy áp dụng để xây dựng dự đoán lỗi thành phần phần mềm việc khai phá liệu khứ phần mềm, thành phần vấn đề liên quan đến lỗi chúng Các dự án phát triển phần mềm ngày lớn, phức tạp, tốn trở nên khó dự đốn Một nhiều vấn đề cần quan tâm dự án phần mềm gia tăng quy mô độ phức tạp, làm tăng khả rủi ro ảnh hưởng đến chi phí tiến độ dự án Việc phát lỗi tiềm ẩn phần mềm có ý nghĩa lớn, giúp cải thiện thời gian, giảm chi phí nâng cao lực cạnh tranh phát triển phần mềm Trường hợp khơng kiểm sốt tốt lỗi, doanh nghiệp buộc phải tăng cường khả khác, bao gồm: đánh giá mã tập trung, tăng cường kiểm tra đơn vị mã nguồn tăng khả giám sát nhân lực phát triển nhiều cấp độ Xuất phát từ việc nhìn nhận, nhà phát triển phần mềm mong đợi có nhu cầu cơng cụ dự đoán lỗi tốt Bằng việc xác định xu hướng, tơi mong muốn sâu tìm hiểu vấn đề thơng qua phân tích, đánh giá thuật tốn mơ hình Theo hiểu biết tơi, chưa có nghiên cứu đáp ứng tốt mục tiêu dự đốn xác số lượng lỗi phần mềm với thời gian phù hợp Mặc dù nhiều nghiên cứu gần chứng minh kết đầy hứa hẹn Học máy sử dụng để dự đoán tỷ lệ lỗi phần mềm dựa phép đo phân tích tình trạng độ phức tạp mã nguồn kích thước mã,… Tuy nhiên tiêu chuẩn áp dụng cho ngành chậm Hầu hết dự án phát triển phần mềm sử dụng phương pháp dự đoán lỗi truyền thống, phần lớn tập trung vào mối quan hệ số dòng mã với số lượng lỗi ứng dụng Trong mối tương quan hai phép đo chứng minh có độ lệch đáng kể dẫn đến kết chưa đánh giá cao 55 chế Do vậy, chắn nội dung đồ án nhiều tồn tại, cần nghiên cứu sâu Bản thân mong nhận bảo thầy giáo góp ý bạn đồng nghiệp Tôi xin chân thành cám ơn Thầy, Cô giáo Trường Đại học Đà Nẵng tạo điều kiện trang bị cho kiến thức thời gian đào tạo theo chương trình Thạc sỹ Cám ơn Thầy cô giáo Khoa Công nghệ thông tin – Trường Bách khoa Đà Nẵng, Cô giáo TS Lê Thị Mỹ Hạnh tạo điều kiện giúp đỡ, định hướng đề tài, hướng dẫn góp ý để tơi thực hồn thành Luận văn ! Học viên Nguyễn Mậu Hải 56 TÀI LIỆU THAM KHẢO [1] Taghi M Khoshgoftaar∗ Kehan Gao Naeem Seliya (2010) Attribute Selection and Imbalanced Data: Problems in Software Defect Prediction, International Conference on Tools with Artificial Intelligence (22nd) [2] Cagatay Catal (2011) Review: Software fault prediction: A literature review and current trends Expert Syst Appl 38, (April 2011), 4626-4636 DOI=10.1016/j.eswa.2010.10.024 http://dx.doi.org/10.1016/j.eswa.2010.10.024 [3] Thomas Zimmermann (2009) Cross-project Defect Prediction A Large Scale Experiment on Data vs Domain vs Process Microsoft Research [4] Djuradj Babic (2012) Adaptive Software Fault Prediction Approach Using Object-Oriented Metrics, Florida International University, dbabic@mdc.edu [5] Golnoush Abaei · Ali Selamat 2014 A survey on software fault detection based on different prediction approaches, Vietnam J Comput Sci [6] Mattias Liljeson Alexander Mohlin 2014 Software defect prediction using machine learning on test and source code metrics, Faculty of Computing Blekinge Institute of Technology, Karlskrona, Sweden [7] Asst.Prof./CSE, Bhajarang Engineering College, Tiruvallur, Chennai, TamilNadu & Professor/CSE, Er Perumal Manimekalai College of Engineering, Hosur, Krishnagiri, Tamil Nadu (2014) Software Defect Prediction Using Software Metrics, K.PUNITHA1 Dr S.CHITRA2, [8] Romi Satria Wahono 2015 A Systematic Literature Review of Software Defect Prediction: Research Trends, Datasets, Methods and Frameworks, Faculty of Computer Science, Dian Nuswantoro University, Journal of Software Engineering, Vol (April 2015) [9] Malhotra, R (2015) A systematic review of machine learning techniques for software fault prediction Appl Soft Comput., 27, 504-518 [10] Maureen Lyndel C Lauron and Jaderick P Pabico (2016) Improved Sampling Techniques for Learning an Imbalanced Data Set, Institute of Computer Science, University of the Philippines Los Baños, College 4031, Laguna [11] Xiang Chen†, Yuxiang Shen, Zhanqi Cui, Xiaolin Ju (2017) Applying Feature Selection to Software Defect Prediction using Multi-objective Optimization, School of Computer Science and Technology, Nantong University, Nantong, China IEEE 41st Annual Computer Software and Applications Conference [12] Binod Kumar Pattanayak (2016) A survey on machine learning techniques used for software quality prediction, Siksha O Anusandhan University, Article in International Journal of Reasoning-based Intelligent Systems [13] Barstad, Morten Goodwin, Terje Gjosæter (2017) Predicting Source Code Quality with Static Analysis and Machine Learning, Vera, Faculty of Engineering and Science, University of Agder, Serviceboks 509, NO-4898 Grimstad, Norway [14] Dindin Wahyudin, Rudolf Ramler, Stefan Biffl (2017) A Framework for Defect Prediction in Specific Software Project Contexts, https://hal.inria.fr/hal-01572547 Submitted 2017 57 [15] Statistical and Machine Learning Methods for Software Fault Prediction Using CK Metric, Suite: A Comparative Analysis, Yeresime Suresh, Lov Kumar, and Santanu Ku Rath, Department of Computer Science and Engineering, National Institute of Technology, Rourkela, Odisha - 769008, India [16] Aston Zhang, Zack C Lipton, Mu Li, Alex J Smola 2019) Book: Dive into Deep Learning (Release 0.7), May 02, 2019 [17] Thomas G Dietterich Ensemble Methods in Machine Learning, Oregon State University Corvallis Oregon USA, home page: http://www.cs.orst.edu.tgd [18] Christian Quesada-López (2015) Software fault prediction: A systematic mapping study, University of Costa Rica Conference Paper · April 2015 [19] N.Kalaivani & Dr.R.Beena (2018) Overview of Software Defect Prediction using Machine Learning Algorithms, Department of Computer Science, Kongunadu Arts and Science College, Coimbatore – 641029, Tamilnadu International Journal of Pure and Applied Mathematics, Volume 118 No 20 2018 [20] Hans Raukas (2017) Some Approaches for Software Defect Prediction, Bachelor’s Thesis (9 ECTS), Tartu 2017 [21] Ross Earle MacDonald (2018) Software Defect Prediction from Code Quality Measurements via Machine Learning, Thesis submitted to Saint Mary’s University in partial fulfilment of the requirements for the Degree of Master of Science in Computing and Data Analytics, August, 2018, Halifax, Nova Scotia [22] The Wikipedia Guide Introduction to Machine Learning [23] Mohssen M Z E Mohammed (2016) Machine Learning: Algorithms and Applications, Al-Imam Muhammad bin Saud Islamic University Book [24] Bartłomiej Wójcicki, Robert Dąbrowski (2018) Applying Machine Learning to Software Fault Prediction, Institute of Informatics, University of Warsaw [25] Rakesh Rana (2014) The Adoption of Machine Learning Techniques for Software Defect Prediction: An Initial Industrial Validation, University of Gothenburg, Conference Paper in Communications in Computer and Information Science · September 2014 [26] Santa Clara, Introduction to Machine Learning, Alex Smola and S.V.N Vishwanathan Departments of Statistics and Computer Science Purdue University and College of Engineering and Computer Science, Australian National University [27] https://medium.com [28] https://en.wikiversity.org/wiki/ [29] http://analyticsvidhya.com/blog/2018/06/comprehensive-guide-forensemble-models [30] https://www.kaggle.com [31] Diomidis Spinellis Tool writing: A forgotten art? IEEE Software, 22(4):9– 11, July/August 2005 (doi:10.1109/MS.2005.111) DAI HQC uA NANG CQNG HOA xA HQI CHU NGHIA VI1J:TNAM TRUONG DAI HQC BAcH KHOA HO DQc I~p - Tl}' - Hanh phuc sa HOI DONG DANH GIA LuAN Bien ban HQi d6ng Bang diSm cua hoc vien cao hoc Ly lich khoa hoc cua hoc vien Bien ban kiem phieu Nh~n xet VAN THAC SY NH~NXET TRAcH NHI1J:M TT HQvATEN PGS TS Nguyen Thanh Binh TS Nguyen Van Hi~u TS Huynh Htru Hung Phan bien TS Hoang Van Dung Phan bien TS TS Le Thi f)~u Manh Hoan My Hanh TRONG HOI DONG Chil tich H(>idang Thu Ban nhq,n xet Phi€u iliim v v v v kY H(>idang Uy vien Nguai huong ddn Da Nlmg,ngay Z.r.thimg.d Thu ky HQi d6ng ndm 2019 TS Nguyen Van Hi~u - ,I CQNG HOA xA H(H cnu NGHiA vrsr DQcI~p - T1!do - Hanh phuc DAI HQC DA NANG TRUONG D~I HQC BAcH KHOA NAM BIEN BAN HQP HOI nONG nANH GIA LU~N VAN TH~C Sy Ngay thang nam 2019, H9i d6ng duoc l~p thea Quyet dinh s6 20961QD - DHBK cua Hieu tnrong Truong Dai hQCBach khoa, gom cac vien: TT HQ vA TEN PGS TS Nguyen Thanh Binh Chu tich Hoi d6ng TS Nguyen Van Hi~u Thu ky H(>id6ng TS Huynh Htru Hung -Oy vien Phan bien TS Hoang Van Dung -Oy vien Phan bien CU(JNG VI TRONG H(H DONG -Oy vien TS f)~u M~nh Hoan dffhop (co mat: , vang mat: vien) dS danh gia luan van thac sY: - Ten dS tai: Die doan 16i phdn mem dVQ tren a9 md nguon sit dung kfJ thudt h9C kit hop - Chuyen nganh: Khoa hoc may tinh (K35.KMT QB) - Cua hoc vien cao hoc: Nguy~n M~u Hai NQi dung buBi hop danh gia gAm cac ph in chinh sau day: a Thu ky H9i d6ng bao cao qua trinh hoc t~p, nghien Clm va dQCly lich khoa hQc cua hQc vien (co van bim kern theo); b HQc vien trinh bay lu~n van; c Cac phan bi~n dQc nh~n xet va neu diu hoi (co van ban kern theo); d HQc vien tra lai cac cau hoi cua vien H9i d6ng; e H9i d6ng thao lu~n kin va danh gia; f KiSrn phiSu va cong b6 ket qua (co bien ban kiSrn phieu va phieu kern theo) g Tac gia lu~n van phat biSu y kien h Chu tich H9i d6ng tuyen b6 bS rn(;lc K~t lu~n clla HQi dAng: _ a) KSt lu~ chung: G~ ~ ~ lLL;- !' f) ? ' d) Diem danh gia: Bang sO: "/'±-jJ,~\ Bang ehu:_ -l~L._~.:: LL, _,~lv-~~M!L-? " / THU KY HOI DONG TS Nguyen Van Hi~u tic cnu TICH HOI DON PGS TS Nguyen Thanh Binh NH~N CVA TRUONGD~I HQC BAcH KHOA TL HI¥U TRUONG TRUONG PHONG nAo T~O PGS.TS NGUYEN HONG HAl DAI HQC DA NANG TRUONG Df.\I HQC BAcH KHOA CONG HOA xA HOI CHU NGHiA VI~T NAM DQc l,p - TV - H\}oh phuc CAD HOI Kern thea Bien ban hop vA TRA LOI HQi d6ng danh gia luan van thac sy Cua hoc vien: Nguyen M?u Hai THU KY HOI DONG TS Nguyen Van Hi~u DA NANG Df\lllqC XA CONG JH)A TllU'(jNG HAlllOC BAcH KHOA '.-~ - cnu NGHiA HOI VI~T NAM DQc IQp - T\l' - H~nh phuc NllAN XET LuAN VAN TOT NGIIIEP (Danh cho nguoi huang dcln) l~.~.i~(" II,,) va ten ngll'ai nh~n xct: I Ioc kiln: , , ,KM-,M1 T de tal jZln van: ';:?If-'' _'t '" I' V ()_ ') ••••••••••••••••• • ••••••••••••••••••••••••••••••••••••••••••••••••••••• • • & , , , ' C"l 1:), , ••• _A _;' U t(t} , ," , • ' :_' ••• ,,,.,,, ,.,, '*t;' d'~'~ 'n"'1~' 'n' , • \ "_:• , ••• ", :T~.,,~ ' '.' , '.• M~ n-! ;ff"5 \_ A ~ r- )'\ , ' ••:.\' < )t.~ - ,,/ y KIEN • \.\ ~ n ~,,:, J"~r V' "~.' ''-t_ •• ( ,c.t.6 Yn.a, ~ , 'm" ,gu , , Ll /" ' /' NH~N XET vi ltuin Vall, thai lam viec cua h9C (Nluin xei cI///I1g (lidll co) > !\ A :~.±ti;: Khoa: k:3.C l) Chuyen nganh: , t ,, , H' ',"',.f I ~'.l '"".Iell I~\lc VICu cao h9C: :~ HA~ ,Uttfb~, ,, ,,, ,,,, ,,,,., Co qUem cong rae: , ,~Lu1,~ T" ;:' ~ H9Cvi: Kti-,M.T Chuyen nganh: M: ~ T.) ~ !.ff.,n: dung ky Khoa hoc may tinh (K35.KMT QB) - H9i d6ng b~t d~u hop hie h - Tai Truong Dai hQCBach khoa Tham gia kiem phieu gom: rna nguon su ~ ~ -c::- ~ H~~ I ngay: ~ ~ 120 19 ~;~ // ~ "I ~ K~t qua kiem phieu: - S6 phieu phat ra:_~J -=_ ,, - S6 phieu hop 1~:_ ,- T6ng s6 diSm: f-t r S6 phieu S6 phieu _ thu vS: ; khong hop 1~:;;;-t:P DiSm trung binh: f ,J i» N8ng, ?Jtj;6_n~ HO TEN & coo' KY cAc THANH VIEN THAM ~ ~J4~ ~ ~rr~~ GIA ndm 2019 KIEM PHIEU/: cL-dv ~ 1:7 D~I HOC DA NANG TRUONG DAI HOC BAcH KHOA CQNG HOA XA HQI CHU NGHiA VI~T NAM DQcl~p - Tl! - H~nh phuc NHAN XET LuAN VAN TOT NGHIEP (Danh cho nguiri phan bier HQ va ten ngiroi nhan xet: Huynh Htru Hung HQc ham: HQc vi: Tien si Chuyen nganh: Cong nghe Thor.g in Co quan cong tac: Truong DHBK - DHDN HQ va ten hoc vien cao hoc: NGUYEN MAu HAl, Kh6a: 35 Chuyen nganh: Khoa hoc May tinh Ten d~ tai luan van: Du doan 16i phfrn m~m dua tren dO rna nguon sir dung ky thuat hoc k~t hop y KIEN NH~N XET 1- v~ly chon d~ tai: Du doan 16i phan mem d6ng vai tro quan trong IIr h vue n ghien ciru ky thuat phan mem va san xuat phan mem Viec phat hien cac 16i phan r\~m S