Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)

19 195 0
  • Loading ...
1/19 trang

Thông tin tài liệu

Ngày đăng: 27/04/2017, 15:05

Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt) 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 TÓM TẮT 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 Luậnvănđượchoànthànhtại: HỌCVIỆNCÔNGNGHỆBƯUCHÍNHVIỄNTHÔNG Ngườihướngdẫnkhoahọc:PGS.TS TừMinhPhương Phảnbiện1:………………………………………………………………………… Phảnbiện2:………………………………………………………………………… LuậnvănsẽđượcbảovệtrướchộiđồngchấmluậnvănthạcsĩtạiHọcviệnCôngnghệBưu chínhViễnthông Vàolúc: …… giờ…….ngày ……tháng……năm……… Cóthểtìmhiểuluậnvăntại: THƯ VIỆN CỦA HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG 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 trình quản lý, kiểm soá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ó 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 2 Mục đích nghiên cứu: 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 toá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 NỘI DUNG Chương 1: TỔNG QUAN VỀ DỰ ĐOÁN LỖI LIÊN DỰ ÁN TRONG CÁC PHẦN MỀM Giới thiệu chương: Giới thiệu vấn đề dự đoán lỗi phần mềm, khái niệm, phương pháp dùng dự đoán lỗi Giới thiệu vấn đề dự đoán lỗi liên dự án, đặt vấn đề, khó khăn vấn đề, phương pháp tiếp cận áp dụng, hạn chế phương pháp Nội dung chương có phần sau: 1.1 Giới thiệu toán dự đoán lỗi phần mềm 1.2 Các cách tiếp cận toán dự đoán lỗi 1.3 Tổng quan dự đoán lỗi phần mềm sử dụng học máy 1.4 Giới thiệu vấn đề dự đoán lỗi liên dự án 1.5 Các phương pháp gần nghiên cứu để giải vấn đề 1.6 Kết luận chương 3 Chương 2: PHƯƠNG PHÁP CCA VÀ ÁP DỤNG GIẢI QUYẾT VẤN ĐỀ DỰ ĐOÁN LỖI LIÊN DỰ ÁN Giới thiệu chương: Trình bày tổng quan phương pháp CCA, đưa đề xuất hướng tiếp cận phương pháp CCA+ dựa phương pháp CCA áp dụng vào dự đoán lỗi liên dự án nhằm tăng hiệu dự đoán lỗi Nội dung chương bao gồm phần sau: 2.1 Các vấn đề phát sinh thực dự đoán lỗi liên dự án 2.2 Trích xuất đặc trưng từ mã nguồn dự án 2.3 Giới thiệu phương pháp CCA 2.4 Xây dựng liệu chung cho dự án nguồn đích 2.5 Áp dụng phương pháp CCA cho việc dự đoán lỗi liên dự án 2.6 Kết luận chương Chương 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ Giới thiệu chương: Sử dụng tập liệu dự án: Apache, Safe, Zxing phương pháp CCA trình bày chương để xây dựng lên liệu chuyển đổi từ liệu gốc dùng phân loại láng giềng gần khoảng cách Euclidean để thực dự đoán lỗi Đánh giá kết so với phương pháp học máy khác TCA Nội dung chương gồm mục sau: 3.1 Thu thập liệu từ dự án khác 3.2 Các phép đánh giá 3.3 So sánh với phương pháp TCA 3.4 Độ phức tạp thời gian thực 3.5 Kết luận chương 4 CHƯƠNG 1: TỔNG QUAN VỀ DỰ ĐOÁN LỖI LIÊN DỰ ÁN TRONG CÁC PHẦN MỀM Dựđoánlỗicácmodulephầnmềm(hoặcfile)làrấtquantrọng,đểlậpkếhoạchvàquảnlý việckiểmthửvàbảotrìcácgiaiđoạncủamộtdựántốthơn Dựđoánlỗisẽlàcơhộichonhóm pháttriểnkiểmtralạicácmodulehoặccáctậptincóxácsuấtlỗicao Đầutiên,tronggiaiđoạn thửnghiệm,cóthểtậptrungvàonhữngmoduledễlỗihoặcmodulecónhiềulỗitươngđối Khả năngsửachữanhữnglỗicònlạisẽtăngvàsảnphẩmphầnmềmcóchấtlượnghơnsẽđượcgửi đếnngườidùngcuối Thứhai,vìnhiềulỗisẽđượccốđịnhtrongsuốtthờigiankiểmthử,chiphí bảotrìdựánsẽgiảmdẫntớisựsụtgiảmtrongtổngchiphícủadựán 1.1 Giới thiệu toán dự đoán lỗi phần mềm Dựđoá nlo• ipha‚ nme‚ mlà phươngphá pđá nhgiá cá clớptronghệ tho† ngpha‚ nme‚ mđe‡ xá c địnhnhữnglớpcó khả nă ngcó lo• idựavà ocá cdữliệ ulịchsửquacá cla‚ nthayđo‡ icủ ahệ tho† ng 1.2 Các cách tiếp cận toán dự đoán lỗi 1.2.1 Tiếpcậndựatrênchangelog 1.2.2 Tiếpcậnkiểusingle-version 1.2.3 Cáccáchtiếpcậnkhác 1.3 Tổng quan dự đoán lỗi phần mềm sử dụng học máy Các thuật toán học máy chứng minh thiết thực việc giải vấn đề chưa rõ ràng Do vấn đề phần mềm xây dựng trình học phân loại theo đặc điểm lỗi, thuật toán máy học thông thường có khả áp dụng để chuẩn bị phân bố xác suất phân tích lỗi Các thuật toán học máy sử dụngthôngquaviệcthựcthichươngtrìnhđểpháthiệnsốlượnglỗi,từđócóthểtìmracáclỗi tiềmẩn 5 Hình1 Cácbướcxâydựngmôhìnhdựđoánlỗisửdụnghọcmáy 1.4 Giới thiệu vấn đề dự đoán lỗi liên dự án Dự đoán lỗi liên dự án sử dụng liệu dự án để dự đoán lỗi cho dự án khác 1.5 Các phương pháp gần nghiên cứu để giải vấn đề Có nhiều phương pháp nghiên cứu hoạt động hiệu việc giải toán dự đoán lỗi dự án, vậy, phương pháp lại không phù hợp có hiệu suất áp dụng vào toán dự đoán lỗi liên dự án Từ thực tế đó, số cách tiếp cận đề xuất, số tiếp cận dự đoán lỗi dựa việc học chuyển đổi (transfer learning) 1.6 Kết luận chương CHƯƠNG 2: PHƯƠNG PHÁP CCA VÀ ÁP DỤNG GIẢI QUYẾT VẤN ĐỀ DỰ ĐOÁN LỖI LIÊN DỰ ÁN 2.1 Các vấn đề phát sinh thực dự đoán lỗi liên dự án Mỗi dự án phần mềm có đặc trưng riêng nghiệp vụ, cấu trúc, tổ chức thành phần, quy trình xây dựng, kiểm thử, khác ngôn ngữ xây dựng 2.2 Trích xuất đặc trưng từ mã nguồn dự án Số liệu phần mềm phân loại theo ba nhóm chính, cụ thể số liệu sản phẩm, số liệu trình số liệu tài nguyên Số liệu sản phẩm liên quan đến đo lường tính khác tài liệu chương trình tạo trình phát triển phần mềm số liệu trình liên quan đến đo lường hoạt động xảy suốt vòng đời phần mềm phát triển, chẳng hạn thiết kế phần mềm, thực hiện, kiểm tra, bảo trì Số liệu tài nguyên biện pháp hỗ trợ tài nguyên lập trình viên, chi phí sản phẩm quy trình, vv Các dặc trưng thường sử dụng: - Maintainability Index Cylomatic complexity Depth of Inheritance Class Coupling Line of code 2.3 Giới thiệu phương pháp CCA Phân tích tương quan tắc phương pháp để khám phá mối quan hệ hai đa biến biến (vector) Xem xét vector đa biến ngẫu nhiên có dạng (x, y) Giả sử có mẫu S = ((𝑥" , 𝑦" ), , (𝑥$ , 𝑦$ )) (x, y), sử dụng để 𝑆& biểu thị (𝑥" , , 𝑥$ ) tương tự 𝑆' để biểu thị (𝑦" , , 𝑦$ ) Chúng ta xem xét xác định kết hợp cho x cách chọn 𝑤& hướng chiếu x vào hướng x → < 𝑤& , x > làm tương tự y cách lựa chọn hướng 𝑤' có mẫu phối hợp x 𝑆&,+, = ( , , TARGET RECALL F-MEASURE FALSEPOSITIVE Apache->ar3 0.88 0.48 0.25 ar3->Apache 0.40 0.53 0.10 CM1->Apache 0.54 0.68 0.06 Apache->CM1 0.76 0.42 0.26 AR3->CM1 0.33 0.33 0.10 CM1->AR3 0.38 0.43 0.05 EQ->AR3 0.25 0.40 0.10 AR3->EQ 0.58 0.53 0.41 Trường hợp 1-n: SOURCE=>TARGET RECALL F-MEASURE FALSEPOSITIVE AR3->{CM1,PC1,MW1} 0.38 0.36 0.08 {CM1,PC1,MW1}->AR3 0.50 0.62 0.02 AR4->{CM1,PC1,MW1} 0.52 0.31 0.19 12 {CM1,PC1,MW1}->AR4 0.35 0.39 0.10 AR5->{CM1,PC1,MW1} 0.60 0.30 0.26 {CM1,PC1,MW1}->AR5 0.50 0.67 0.01 {AR3,AR4,AR5}->CM1 0.38 0.36 0.10 CM1->{AR3,AR4,AR5} 0.42 0.53 0.04 {AR3,AR4,AR5}->MW1 0.33 0.38 0.05 MW1->{AR3,AR4,AR5} 0.33 0.42 0.05 {AR3,AR4,AR5}->PC1 0.46 0.39 0.08 PC1->{AR3,AR4,AR5} 0.33 0.48 0.01 3.3 So sánh với phương pháp TCA CCA TCA Mục đích Làm cho phân bố liệu nguồn đích giống Ý tưởng Chiếu liệu nguồn đích vào không gian khác thấp chiều để giảm thiểu khác biệt Thực thi Áp dụng CCA để học cặp Giảm khoảng cách phân chuyển đổi tương ứng với hai tập bố liệu bảo toàn biến cho biến sau thuộc tính gốc chuyển đổi có độ tương quan lớn Input Các dự án đầu vào khác Dữ liệu nguồn đích phải metric, điều có nghĩa xây dựng metric metric nguồn đích khác hoàn toàn, giống hoàn toàn, tồn vài metric tương đương Output Các cặp vector chuyển đổi cho Ma trận chuyển đổi giúp chuyển liệu nguồn đích: 𝑊5 , 𝑊I vector m chiều sang d chiều (d < m) 13 3.4 Độ phức tạp thời gian thực 3.5 Kết luận chương 14 KẾT LUẬN Dự đoán lỗi nói chung dự đoán lỗi liên dự án nói riêng vấn đề nhiều nhà nghiên cứu quan tâm thời gian gần Giải vấn đề giải phần toán chi phí thực phát triển dự án Dự đoán lỗi thực sớm đủ tốt góp phần giảm chi phí bảo trì phát sinh sau này, đồng thời giúp cải thiện tốt chất lượng hệ thống phần mềm Luận văn nêu tổng quan vấn đề liên quan đến toán dự đoán lỗi nói chung, dự đoán lỗi liên dự án nói riêng, cách tiếp cận Đặc biệt luận văn trọng trình bày vấn đề lý thuyết, giải thuật phương pháp CCA chi tiết bước để thực thi phương pháp Phương pháp cho thấy kết tích cực, điều trình bày chương cuối luận văn 15 DANH MỤC TÀI LIỆU THAM KHẢO [1] Humphrey, W., “Why big software projects fail: The 12 key questions.”, The Journal of Defense Software Engineering, Vol 18, pp 25–29, 2005 [2] The Standish Group, “Chaos Report”, 1995, http://www.cs.nmt.edu/ cs328/reading/Standish.pdf – last visited 15th of June, 2008 [3] Jones, C., “Patterns of Large Software Systems: Failure and Success”, Computer , Vol 28, No 3, pp 86–87, 1995 [4] Brooks, F P., Jr., The mythical man-month (anniversary ed.), Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995 [5] Verner, J., J Sampson, and N Cerpa, “What factors lead to software project failure?”, Research Challenges in Information Science, 2008 RCIS 2008 Second International Conference on, pp 71 –80, june 2008 [6] N Nagappan and T Ball, “Use of relative code churn measures to predict system defect density,” in Proceedings of ICSE 2005 ACM, 2005, pp 284–292 [7] A E Hassan, “Predicting faults using the complexity of code changes,” in Proceedings of ICSE 2009, 2009, pp 78–88 [8] N Nagappan and T Ball, “Static analysis tools as early indicators of pre-release defect density,” in Proceedings of ICSE 2005 ACM, 2005, pp 580–586 [9] T Zimmermann and N Nagappan, “Predicting defects using network analysis on dependency graphs,” in Proceedings of ICSE 2008, 2008 [10] A Marcus, D Poshyvanyk, and R Ferenc, “Using the conceptual cohesion of classes for fault prediction in objectoriented systems,” IEEE Trans Software Eng., vol 34, no 2, pp 287–300, 2008 [11] Y Shi, Z Lan, W Liu, W Bi, Extending semi-supervised learning methods for inductive transfer learning, In: Ninth IEEE International Conference on Data Mining, 2009, pp 483–492 [12] T Kamishima, M Hamasaki, S Akaho, TrBagg:A Simple Transfer Learning Method and Its Application to Personalization in Collaborative Tagging, in: Proceedings of the IEEE International Conference on Data Mining (ICDM), 2009, pp 219–228 16 [13] Transfer Defect Learning Jaechang Nam∗, Sinno Jialin Pan†, and Sunghun Kim∗ ∗Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, China [14] Jaechang Nam, Sinno Jialin Pan, and Sunghun Kim Transfer defect learning [15] Thomas Zimmermann, Nachiappan Nagappan, Harald Gall, Emanuel Giger, Brendan Murphy Cross-project Defect Prediction, 2009 [16] G Canfora, A De Lucia, M Di Penta, R Oliveto, A Panichella, and S Panichella Multi-objective cross-project defect prediction In IEEE 6th International Conference on Software Testing, Verification and Validation (ICST), pages 252-261, 2013 
 [17] S Herbold Training data selection for cross-project defect prediction In Proceedings of the 9th International Conference on Predictive Models in Software Engineering (PROMISE), pages 6-16, 2013 
 [18] B Zhang and Z Z Shi Classification of big velocity data via cross-domain canonical correlation analysis In International Conference on Big Data, pages 493-498, 2013 
 [19] B Turhan, A T Mısırlı, and A Bener Empirical evaluation of the effects of mixed project data on learning defect predictors Information and Software Technology, 55(6):1101-1118, 2013 
 [20] X.Y.Jing,R.M.Hu,Y.P.Zhu,S.S.Wu,C.Liang,andJ Y Yang Intra-view and inter-view supervised correlation analysis for multi-view feature learning In 28th AAAI Conference on Artificial Intelligence (AAAI), pages 1882- 1889, 2014 
 [21] P Baldi, S Brunak, Y Chauvin, C A Andersen, and H Nielsen Assessing the accuracy of prediction algorithms for classification: an overview Bioinformatics, 16(5):412-424, 2000 
 [22] W Li, L Duan, D Xu, and I W Tsang Learning with augmented features for supervised and semi-supervised heterogeneous domain adaptation IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(6):1134-1148, 2014 [23] F Peters, T Menzies, and A Marcus Better cross company defect prediction In 10th IEEE Working Conference on Mining Software Repositories (MSR), pages 409-418, 2013 [24] WeiFoo HDP Dataset https://github.com/ai-se/HDP/tree/master/dataset 17 [25] M Shepperd, Q Song, Z Sun, and C Mair Data quality: some comments on the NASA software defect datasets IEEE Transactions on Software Engineering, 39(9):12081215, 2013 
 [26] R Wu, H Zhang, S Kim, and S C Cheung Relink: recovering links between bugs and changes In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE), pages 15-25, 2011 
 [27] M D’Ambros, M Lanza, and R Robbes An extensive comparison of bug prediction approaches In 7th IEEE Working Conference on Mining Software Repositories (MSR), pages 31-41, 2010 
 [28] Personal Defect Prediction Link: http://www.slideshare.net/hunkim/personalized-defect-prediction-conference-1 [29] Proposed software defect prediction framework Link: https://www.researchgate.net/figure/220069857_fig1_Fig-1-Proposed-software-defectprediction-framework [30] Chen Songcan In Canonical Correlation Analysis (CCA), íts variants with applications [31] Ming Cheng, Guoqing Wu, Min Jiang, Hongyan Wan , Guoan You and Mengting Yuan In Heterogeneous Defect Prediction via Exploiting Correlation Subspace [32] Data mining lecture 10B Link: http://slideplayer.com/slide/9474616/ ... suất dự đoán lỗi dự án NỘI DUNG Chương 1: TỔNG QUAN VỀ DỰ ĐOÁN LỖI LIÊN DỰ ÁN TRONG CÁC PHẦN MỀM Giới thiệu chương: Giới thiệu vấn đề dự đoán lỗi phần mềm, khái niệm, phương pháp dùng dự đoán lỗi. .. dụngthôngquaviệcthựcthichươngtrìnhđểpháthiệnsốlượng lỗi, từđócóthểtìmracác lỗi tiềmẩn 5 Hình1 Cácbướcxâydựngmôhình dự đoán lỗi sửdụnghọcmáy 1.4 Giới thiệu vấn đề dự đoán lỗi liên dự án Dự đoán lỗi liên dự án sử dụng liệu dự án. .. liệu dự án để dự đoán lỗi cho dự án khác 1.5 Các phương pháp gần nghiên cứu để giải vấn đề Có nhiều phương pháp nghiên cứu hoạt động hiệu việc giải toán dự đoán lỗi dự án, vậy, phương pháp lại không
- Xem thêm -

Xem thêm: Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt), Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt), Nghiên cứu phương pháp dự đoán lỗi phần mềm liên dự án (tt)

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay