Kiểm thử phần mềm là hoạt động đóng vai trò rất quan trọng nhằm đánh giá tính đúng đắn sự hoàn thiện và bảo đảm chất lượng phần mềm Việc kiểm thử phần mềm tốn chi phí rất lớn nên việc sinh dữ liệu thử tự động có khả năng phát hiện lỗi của chương trình cao sẽ giúp nâng cao hiệu quả đối với việc giảm chi phí và tăng chất lượng kiểm thử Kiểm thử cấu trúc là kỹ thuật kiểm thử cho phép kiểm tra cấu trúc bên trong của phần mềm với mục đích đảm bảo rằng tất cả các câu lệnh và điều khiển sẽ được thực hiện ít nhất một lần Tạo dữ liệu kiểm thử đóng vai trò quan trọng nhất trong kiểm thử cấu trúc làm sao để chúng ta có thể tạo ra các dữ liệu thử có khả năng phát hiện lỗi cao nhất đảm bảo các tiêu chí bao phủ như bao phủ câu lệnh bao phủ rẽ nhánh bao phủ lộ trình của chương trình cần kiểm thử Luận văn trình bày kỹ thuật tạo dữ liệu thử nghiệm tự động sử dụng thuật toán di truyền dựa trên đồ thị luồng điều khiển cho chương trình java Kỹ thuật này dựa vào mối quan hệ thống trị giữa các nút trên đồ thị để xác định một hàm thích nghi nhằm đánh giá dữ liệu kiểm thử để giảm chi phí kiểm thử phần mềm Kết quả thực nghiệm cho thấy tập dữ liệu kiểm thử được sinh ra một cách tự động nhưng vẫn đảm bảo đạt độ bao phủ cao đạt độ tin cậy trong kiểm chứng tính đúng đắn của mã nguồn
Đ I H CăĐÀăN NG TR NGăĐ I H C BÁCH KHOA PH MăVĔNăTệNH PH MăVĔNăTệNH KHOA H C MÁY TÍNH NG D NG GI I THU T DI TRUY N SINH D LI U TH BAO PH C U TRÚC C AăCH NGă TRÌNH JAVA LU NăVĔNăTH CăSƾ KHOA H C MÁY TÍNH KHỐ 32 ĐƠăN ng ậ Nĕm 2018 Đ I H CăĐÀăN NG TR NGăĐ I H C BÁCH KHOA - PH MăVĔNăTệNH NG D NG GI I THU T DI TRUY N SINH D LI U TH BAO PH C U TRÚC C AăCH NGăTRỊNHăJAVA 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: PGS.TS Nguy n Thanh Bình ĐƠăN ng ậ Nĕmă2018 -i- L IăCAMăĐOAN Tôiăxinăcamăđoan rằngănh ng n iădungătrongălu năvĕnănƠyălƠ nghiênăc uăc aăriêngă tôi, t ăth căhi năd iăs ăh ng d nătr căti păc aăPGS.TS.ăNguy năThanhăBình TrongătoƠnăb ălu năvĕn,ănh ngăn iădungăđ cătrìnhăbƠyălƠăc aăchínhăcáănhơnătơiăho călƠă đ cătổngăh păt ănhi uăngu năt ăli uăkhác.ăM iătƠiăli u thamăkh oădùngătrongălu năvĕnă đ uăđ cătríchăd nărõărƠngătênătác gi ,ătênăcơngătrình,ăth iăgian,ăđ aăđi măcơngăb Tơi xin hồn tồn chịu trách nhiệm chịu hình th c kỷ luật theo quy định cho lời cam đoan NG IăCAMăĐOAN Ph măVĕnăTính -ii- L IăC Mă N L iăđ u tiên xin trân tr ng g i l i c mă năđ n cán b , giáo viên c a PhịngăĐƠoă t o Khoa Cơng ngh thông tin, Tr ngăĐ i h c Bách khoa ĐƠăN ng đưăt o m iăđi u ki n thu n l i cho th i gian nghiên c u hồn thành Lu năvĕn V i lịng kính tr ng bi tă năsơuăs c, tơi xin g i l i c mă năđ n th yăgiáoăh ng d n PGS TS Nguy năThanhăBìnhăđưăt nătìnhăgiúpăđỡ tơi xây d ngăýăt ng nghiên c u, cũngănh ătrongăsu t trình nghiên c u hồn thi n Lu năvĕn.ăTh yăđưăluôn ng h , đ ng viên hỗ tr nh ngăđi u ki n t t nh tăđ hồn thành Lu năvĕn.ăBênăc nhăđó,ă tơiăcũngăxinăg i l i c mă năđ n Ti năsƿăLêăTh Mỹ H nh b năbè,ăđ ng nghi păđưăgiúpă đỡ, hỗ tr nghiên c u, hoàn thành lu năvĕn Xin chân thƠnh c mă n th y, cô H iăđ ngăđư cho tơi nh ngăđóng góp q báuăđ hoƠn ch̉nh lu năvĕnănƠy Xin trân tr ng c mă n! TÁC GI Ph măVĕnăTính -iii- M CăL C L IăCAMăĐOAN i L I C Mă N ii M C L C iii DANH M C CÁC KÝ HI U VÀ CH VI T T T viii DANH M C CÁC B NG ix DANH M C CÁC HÌNH V VĨăĐ TH x M Đ U 1 Lý ch năđ tài M căđíchănghiênăc u 3 M c tiêu nhi m v nghiên c u a) M c tiêu b) Nhi m v 4.ăĐ iăt 5.ăPh ng ph m vi nghiên c u ngăphápănghiênăc u a)ăPh ngăphápălýăthuy t b)ăPh ngăphápăth c nghi m ụănghƿaăkhoaăh c th c ti n c aăđ tài a)ăụănghƿaăkhoaăh c b)ăụănghƿaăth c ti n B c c c a lu năvĕn CH NGă1.ăC ăS LÝ THUY T 1.1 Ki m th ph n m m 1.1.1 Khái ni m v ki m th ph n m m 1.1.2 Cácăb c ki m th 1.1.2.1 L p k ho ch ki m th 1.1.2.2 Thi t k ca ki m th 1.1.2.3 Th căthiăch ngătrình -iv1.1.2.4 Phân tích k t qu ki m th l p báo cáo 1.1.3 Các ho tăđ ng ki m th ph n m m 1.1.4 Các kỹ thu t ki m th ph n m m 10 1.2 Ki m th c u trúc 11 1.2.1 Khái ni m v đ th ki m th 11 1.2.2 Tiêu chí bao ph 12 1.2.3 Ki m th d aătrênăđ th lu ngăđi u n 13 1.2.4 Ki m th d aătrênăđ th lu ng d li u 14 1.3 Gi i thu t di truy n 15 1.3.1 Các khái ni m 15 1.3.1.1 Khái ni m v Gi i thu t di truy n 15 1.3.1.2 Các toán t di truy n 15 1.3.1.3 Các công th c c a gi i thu t di truy n 16 1.3.1.4 Các tiêu chu năđ k t thúc thu t toán 16 1.3.1.5ăS ăđ c u trúc gi i thu t di truy n 17 1.3.2 Kh i t o qu n th 18 1.3.3 Hàm m c tiêu 18 1.3.4 Cách t o qu n th m i 19 1.3.4.1 L a ch n theo t̉ l bánh xe Roulette 19 1.3.4.2 L a ch n x p h ng 19 1.3.4.3 L a ch nătheoăc ăch l y m u ng u nhiên 20 1.3.4.4 L a ch nătranhăđ u 20 1.4 K t lu n 20 CH NGă2.ăKI M TH 2.1 Gi i thi uămôiătr C UăTRÚCăTRONGăMỌIăTR NG JAVA 21 ng ngôn ng Java 21 2.1.1 Java gì? 21 2.1.2 ng d ng c a Java 21 2.1.3 Nh ngăđ căđi măc ăb n c a Java 21 2.1.3.1ăH ngăđ iăt ng hoàn toàn 21 -v2.1.3.2ăĐ c l p ph n c ng h u hành 22 2.1.3.3 Ngôn ng thông d ch 22 2.1.3.4ăC ăch thu gom rác t đ ng 23 2.1.3.5ăĐaălu ng 23 2.1.3.6 Tính an tồn b o m t 23 2.1.4 Java Virtual Machine (JVM) 24 2.1.5 Các kh iăđi u năc ăb n Java 24 2.2 Tổngăquanăph ngăphápăki m th c u trúc d aătrênăđ th lu ngăđi u n 25 2.3 Xây d ngăđ th lu ngăđi u n t mã ngu n Java 26 2.4 Xây d ng t p l trình ki m th 27 2.4.1 Xây d ng t p l trìnhăđ c l p 27 2.4.2 Xây d ng l trình ki m th vịng l p 28 2.4.2.1 L trình ki m th cho vòng l păđ n 29 2.4.2.2 L trình ki m th cho vòng l p l ng 30 2.5 K t lu n 31 CH NGă3.ăGI I PHÁP SINH D LI U TH D A TRÊN GI I THU T DI TRUY N 32 3.1 Phát bi uăbƠiătoánăđ t 32 3.2 Bi u di n nhi m s c th 32 3.3 Kh i t o qu n th (Initial population) 34 3.4 Xây d ng hàm thích nghi 34 3.5 L a ch n (Selection) 35 3.6 K t h p l i (Recombination) 36 3.7 L a ch n t iă uă(Elitist) 37 3.8 Thu t toán tổng quát 37 3.9 K t lu n 39 CH NGă4.ăCĨIăĐ T VÀ TH NGHI M 40 4.1ăCƠiăđ t gi iăphápăđưăđ xu t 40 -vi4.2 Tri n khai mô th c nghi m 43 4.3 K t qu vƠăđánhăgiáăk t qu 46 4.4 K t lu n 49 K T LU NăVĨăH NG PHÁT TRI N 50 TÀI LI U THAM KH O 51 -vii- NGăD NGăGI IăTHU TăDIăTRUY NăSINHăD ăLI UăTH ăBAOăPH ă C UăTRÚCăC AăCH NGăTRỊNHăJAVA H căviên: Ph măVĕnăTính Mưăs :ă8480101, Khóa: K32, Tr Chun ngành: Khoaăh cămáyătính ngăĐ iăh căBáchăkhoaă- ĐHĐN Tómăt tă- Ki măth ăph năm mălƠăho tăđ ngăđóngăvaiătrịăr tăquanătr ngănhằmăđánhăgiáătínhăđúngă đ n,ăs ăhoƠnăthi năvƠăb oăđ măch tăl ngăph năm m.ăVi căki măth ăph năm măt năchiăphíăr tăl n,ă nênăvi căsinhăd ăli uăth ăt ăđ ngăcóăkh ănĕngăphátăhi nălỗiăc aăch ngătrìnhăcaoăs ăgiúpănơngăcaoă hi uăqu ăđ iăv iăvi căgi măchiăphíăvƠătĕngăch tăl ngăki măth Ki măth ăc uătrúcălƠăkỹăthu tăki măth ăchoăphépăki mătraăc uătrúcăbênătrongăc aăph năm măv iă m căđíchăđ măb oărằngăt tăc ăcácăcơuăl nhăvƠăđi uăkhi năs ăđ căth căhi năítănh tăm tăl n.ăT oăd ă li uăki măth ăđóngăvaiătrịăquanătr ngănh tătrongăki măth ăc uătrúc,ălƠmăsaoăđ ăchúngătaăcóăth ăt oă raăcácăd ăli uăth ăcóăkh ănĕngăphátăhi nălỗiăcaoănh t,ăđ măb oăcácătiêuăchíăbaoăph ănh :ăbaoăph ă cơuăl nh,ăbaoăph ăr ănhánh,ăbaoăph ăl ătrìnhăc aăch ngătrìnhăc năk măth Lu năvĕnătrìnhăbƠyăkỹăthu tăt oăd ăli uăth ănghi măt ăđ ngăs ăd ngăthu tătoánădiătruy năd aătrênă đ ăth ălu ngăđi uăkhi năchoăch ngătrìnhăjava.ăKỹăthu tănƠyăd aăvƠoăm iăquanăh ăth ngătr ăgi aăcácă nútătrênăđ ăth ăđ ăxácăđ nhăm tăhƠmăthíchănghiănhằmăđánhăgiáăd ăli uăki măth ăđ ăgi măchiăphíă ki măth ăph năm m.ăK tăqu ăth cănghi măchoăth y,ăt păd ăli uăki măth ăđ căsinhăraăm tăcáchăt ă đ ngănh ngăv năđ măb oăđ tăđ ăbaoăph ăcao,ăđ tăđ ătinăc yătrongăki măch ngătínhăđúngăđ năc a mưăngu n T ăkhóaă- ki măth ăph năm m; ki măth ăc uătrúc; đ ăth ălu ngăđi uăkhi n; tiêuăchíăbaoăph ; thu tă tốnădiătruy n APPLICATION OF GENETIC ALGORITHMS IN GENERATING TEST DATA COVERAGE JAVA PROGRAM STRUCTURE Abstract - Software testing is an important action in order to estimate the righteous, completeness and to assure the quality of software Software testing cost very high, therefore the auto-generated test data which helps detection of program errors with high accuracy could help the effectiveness in the task of reducing software testing cost and improve the quality of testing procedure Structural testing is the testing technique allowed verification of the inner structure of program with the purpose to guarantee every single line of code will be executed at least once Creation of testing data plays the most important role in structural testing, for many purpose such as: code coverage, conditional state coverage and programming execution coverage In this thesis, it will present the technique of automatic test data generating method using genetic algorithms based on the control flow graph for Java program This technique is mostly based on the relationship between nodes in the graph to define an accommodation function with the purpose of judging test data for testing cost reduction The practical results show that the data set is although automatic generated however guarantees a high level of coverage and meet the standard requirement of confidence in the process of assuring the righteous of codes Keywords - software testing; structural testing; control flow graph; coverage criteria; genetic algorithms -viii- DANHăM CăCÁCăKụăHI UăVÀăCH ăVI TăT T Stt T vi t t t T /c mt g c GA Genetic Algorithm CFG Control Flow Graph NST Nhi m s c th JVM Java Virtual Machine JRE Java Runtime Environment CNTT Công ngh thông tin 48 # 16 17 18 Testcases 15, 12, 15 27, 33, 33 47, 47, 47 Triangle type Tam giác cân Tam giác cân Tamăgiácăđ u Path covered 1→2→3→5→7→8→10→12→13→14→15→24 1→2→3→5→7→8→10→11→14→15→24 1→2→3→4→15→24 Ti pătheo,ăđ đánhăgiáătỷ l bao ph l trình ki m th c aăch ngătrìnhăgi i tam giác trên, ch y ti n hành nhi u l năđ đánhăgiáăc a d li u th nghi măđ c sinh t GA B ngă4.4ăd iăđơyăli t kê 10 l n ch yăch ngătrìnhăđ đánhăgiáătỷ l bao ph l trình ki m th Bảng 4.4 Tỷ lệ bao ph lộ trình c a liệu kiểm thử No of testcases 24 17 24 19 29 25 21 23 24 26 # 10 No of Nodes visited 12 12 12 12 12 12 12 12 12 12 No of paths covered 6 5 7 Coverage Ratio % 87.5 75 75 62.5 87.5 62.5 62.5 87.5 87.5 87.5 Biểu đồ biểu diễ tỷ lệ bao phủ lộ trì h kiể Time (ms) 66.842343 89.798866 78.881123 85.250908 76.575238 77.827296 77.342105 94.904511 65.531383 77.503708 thử 100 90 80 70 60 50 40 30 20 10 No of testcases Hình 4.11 Coverage Ratio (%) Time (ms) Biểu đồ biểu diễn tỷ lệ bao ph lộ trình kiểm thử 10 49 4.4 K t lu n Ch ngă4 trình bày trình bày k t qu cƠiăđ t gi i pháp sinh d li u th d a kỹ thu t GA đưăđ căđ xu t Gi i pháp nƠyăđ c áp d ng thí nghi m sinh d li u k m th cho toán phân lo i tam giác sinh d li u th m t cách t đ ng Gi iăphápăđ xu tăđưăđ căcƠiăđ t ngơn ng l p trình Java ti n hành th nghi m mã ngu n toán phân lo i tam giác đ năgi n K t qu th nghi m cho th y gi i pháp sinh d li u th t đ ng hi u qu vi c t iă uăth i gian th c hi n Tuy nhiên, vi c th nghi mătrênăcácăch ngătrìnhăl n, ph c t p m i cho k t qu đánhăgiá kh quan 50 K TăLU NăVÀăH NGăPHÁTăTRI N Ki m th m t khâu quan tr ngătrongăvòngăđ i xây d ng phát tri n ph n m m nhằmăđánhăgiáăch tăl ng ph n m m Vi c sinh d li u ki m th m t v năđ thách th c, b iătínhăđaăd ng vƠăđ ph c t p c a mã ngu nătrongămôiătr ng công nghi p ph n m m hi n Ki m th c u trúc m t chi năl c ki m th d a tìm lỗiăđ đánhăgiáăch tăl ng ki m th Ki m th c u trúc yêu c u vi c xây d ng b d li u ki m th ph iăđ t ch tăl ng, có kh nĕngăphátăhi n lỗi cao có th d dƠngăđ c t đ ng hóa nhằm gi m chi phí Lu năvĕnăt p trung nghiên c uăph ngăphápăsinhăd li u ki m th t đ ng cho m t ch ngătrình Java d a gi i thu t di truy n Kỹ thu t áp d ng khái ni m v m i quan h th ng tr gi a nút trongăđ th lu ngăđi u n đ gi m chi phí ki m th ph n m m Các khái ni mănƠyăđ c s d ngăđ xácăđ nh m t hàm fitness đ đánhă giá d li u th nghi măđưăt o Các cƠiăđ t th c nghi m lu năvĕnăđưăđ c th c hi năđ đánhăgiáăhi u qu c a kỹ thu t GA,ăđánhăgiáătínhăhi u qu c a hàm fitness đ gi m chi phí ki m th ph n m m K t qu th c nghi m cho th yăph ngăpháp nghiên c uăđưăb căđ u gi i quy t đ căbƠiătoánăắ ng dụng giải thuật di truyền sinh liệu thử bao ph cấu trúc c a chương trình Java”.ăC th , t đ u vào ch ngătrình Java m t tiêu chí ph ki m th đưăsinhăđ c b ca ki m c n thi t t p d li u ki m th nƠyăđ c sinh m t cách t đ ng thơng qua thu t tốn di truy n K t qu c a thí nghi m cho th y kỹ thu tăGAăđ căđ xu tăv t tr iăh năkỹ thu t ki m th ng u nhiên L ng ca ki m th đ c sinh phù h p, đ m b oăđ bao ph c aăch ngătrình Tuy nhiên, ngồi nh ng k t qu đ tăđ c, ph ngăphápănghiênăc uăch aăx lý t t cácăph ngăth c Java đ u vào ph c t p, ch a bi n xâu, bi n trỏ,ăđ quy Gi i phápăđ d a thu t toán di truy n, ph thu c vào tham s đ u vào hàm sinh ng u nhiên m t s đ t bi n th h nên k t qu th nghi m không ph i lúc cũngăđ t t̉ l mong mu n.ăTrongăt ngălai,ătôiăs t pătrungătìmăcácăph ngăphápăm iăđ gi i quy t h n ch nêu m r ng ph m vi, ph ngăphápănghiênăc u cho ki m th cho ch ngătrìnhăph c t p thay ch̉ ki mătraăcácăch ngătrìnhăđ năgi n.ăĐ ng th i tơi s t iă uăhƠmă fitness vi c gi i quy t toán th c t đ nâng cao ch t l ng ki m th c u trúc, nhằm gi m thi u chi phí c a pha ki m th nh ngăv năđ m b o đ c ch t l ng ph n m m./ 51 TÀIăLI UăTHAMăKH O Ti ng n c [1] Maha Alzabidi, Ajay Kumar and A.D Shaligram, Automatic Software Structural Testing by Using Evolutionary Algorithms for Test Data Generations, IJCSNS [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] International Journal of Computer Science and Network Security, VOL.9 No.4, April 2009 B F Jones, H.-H Sthamer and D.E Eyres, Automatic structural testing using genetic algorithms, Software Engineering Journal September 1996 Ahmed S Ghiduk (Department of Mathematics, Faculty of Science, Beni-Suef University, Egypt), Moheb R Girgis (Department of Computer Science, Faculty of Science, Minia University, Egypt), Using Genetic Algorithms and Dominance Concepts for Generating Reduced Test Data , Informatica 34 (2010) 377-385 Akshat Sharma, Rishon Patani and Ashish Aggarwal, Software testing using Genetic Algorithms, International Journal of Computer Science & Engineering Survey (IJCSES) Vol.7, No.2, April 2016 Yeresime Suresh and Santanu Ku Rath, A Genetic Algorithmbased Approach for Test Data Generationin Basis Path Testing, The International Journal of Soft Computing and Software Engineering [JSCSE], Vol 3, No 3, March 2013 Roy P Pargas, Mary Jean Harrold and Robert R Peck, Test-Data Generation Using Genetic Algorithms, Journal of Software Testing, Verification and Reliability, 1999, to appear, Wiley copyright Arthur H Watson and Thomas J McCabe, Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric, NIST Special Publication 500-235, September 1996 Gordon Fraser and Andreas Zeller (Saarland University ậ Computer Science Saarbră̈ucken, Germany), Exploiting Common Object Usage in Test Case Generation Ankur Pachauri and Gursaran, Test Data Generation for Unit Testing of Java Programs Using JML and Genetic Algorithm, International Journal of Software Engineering Research & Practices Vol.1, Issue 2, April, 2011 Wang Lijuan, Zhai Yue and Hou Hongfeng, Genetic Algorithms and Its Application in Software Test Data Generation, International Conference on Computer Science and Electronics Engineering, 2012 Gordon Fraser and Andrea Arcuri (University of SheffieldDep of Computer Science, Sheffield, UK), Automated Test Generation for Java Generics Ti ng Vi t [12] Nguy n Thanh Bình, Kiểm thử phần mềm, NXB Giáo d c Vi t Nam, 2013 52 [13] Phan Vi t Anh, Bùi Thu Lâm, Giải thuật di truyền ng dụng hỗ trợ lập lịch điều hành công tác bệnh viện, T p chí Khoa h c Kỹ thu t - H c vi n KTQS s 153 (4-2013) [14] Phan Th ThuăHƠ,ăắPh ngăphápăsinhăd li u ki m th t đ ng cho ng d ng Java”,ăLu năvĕnăth căsƿăngƠnhăCôngăngh thông tin, Tr ngăĐ i h c Công Ngh ,ăĐ i h c Qu c Gia Hà N i, 2015 [15] Nguy n Th HƠăQuyên,ăắT iă uăs l ngăđ t bi n ki m th đ t bi n môi tr ng Simulink/Matlab”, Lu năvĕnăth căsƿăngƠnhăKhoaăh cămáyătính,ăTr ngăĐ i h căĐƠăN ng, 2014 Trang web [16] https://vi.wikipedia.org/wiki/Ki%E1%BB%83m_th%E1%BB%AD_ph%E1% BA%A7n_m%E1%BB%81m [17] https://freetuts.net/java-la-gi-gioi-thieu-ngon-ngu-java-1023.html [18] https://www.stdio.vn/articles/read/169/tong-quan-ve-ngon-ngu-lap-trinh-java oe NAxc TRUoI\G EAI Hec eAcH KHoA DAr Hec ceNG HoA xa ugr cn0 xcnia vrET NAM DQc lap - Tq - H4nh phric 56: 991/QD-DHBK-DT Ed Ndng, ngdy t7 thdng ndm 2017 QUYBT DII\H vA viQc giao tliitiri vir tr6ch nhiQm cria ngudi hufng din lufln vrn th?c sf Hrpu rRuor\G TRuor\G D4.r HQC nACn KHOA Cdn cri Nghi dinh sO ZZICp ngdy 04 th6ng ndm 1994 oiua Chinh phri v0 viQc thdnh 14p Dai hsc Dd Ning; Cdn cir Th6ng Q s6 }91}}LAITT-BGDDT qgdy 20 th6ng ndm 2014 cria BQ trucrng BQ Gi6o dgc vd Ddo t4o v0 viOc ban hdnh Quy ch6 t6 chric vd fro[t aqng cta dpi hgc vung vd c6c co so gi6o duc dai hqc thdnh vi0n;Quy6t dinh s6 6950/QE-DHDN ngdy 01 th6ng 12 nitm20l4 cira Gi6m d6c Epi hgc Dd NIng vC viQc ban hdnh Quy dinh nhiQm vir, quy6n h4n cria Dai hqc Ed NEng, c6c co so gi6o duc dai hgc thdnh viOn vd c6c don vi truc thuQc; Cdn cri Th6ng tu sd l5l2Ot4lTT-BGD&ET ngdy 15 th6ng ndm 2Al4 cta BQ trudng BQ Gi6o dpc vd Edo t4o v0 viQc ban hdnh Quy chti Edo tpo trinh dQ Thpc s!; Quytit dinh s6 598/QD-EHBK ngiry 2711212016 cria HiQu truong trudng Dpi hgc B6ch khoa v0 viQc ban hdnh Quy dinh ddo t4o trinh dQ thpc s!; Cdn cr? Quytlt dinh s6 25IEHBK-DT ngdy 071112016 cria HiQu trudng truong Dpi hgc BSch Khoa vO viQc c6ng nhfln hgc vi0n cao hgc trring tuy6n; Cdn cri Td trinh s6 OZITTr-CNTT ngdy 10 th6ng n[m 2017 cta khoa COng nghQ I tin v0 viQc Quy0t dlnh giao de tdi vd ngudi hucrng d6n lufln vdn thac s! cho hgc viOn cao hgc chuy6n ngdnh Khoa hgc m6y tinh kh6a K32; ,i ^ , thong Xdt dO nghi cua Tru&ng Phdng Ddo tao, QUYET EINH Di6u Giao cho hgc vi€n cao hgc Ph4rn Vin Tfnh,lW K32.KMT, chuyOn ngdnh Khoa hpc mdy t[nh, thryc hien d0 tdi 1u4n vdt "(]ng dwng gidi thuQt di truyin sinh dfr tiQu thu , ,, : bao phti cau trilc cua chuong trinh Java", dudi sir hufng d6n cira PG,S TS Nguy€n Thanh Binh, Tradng Eqi hpc Bdch Khoa - Dqti hgc Ed Nfing Ei6u Hgc vi€n cao hgc vd ngudi huong d6n c6 t6n o Ei6u dugc hu0ng c6c quy0n igi vd thlrc hiQn nhiQm vp theo dring quy chtl ddo tpo thpc s! hiQn hdnh cria BQ Girlo dpc vi Eiro t4o, quy dinh ddo t4o thpc s! cria Trulng Dai hgc B6ch khoa Di0u C6c 6ng/bd Truong Phdng Dho tao, Truong phdng Ktl ho4ch - Tai chinh, Tru&ng khoa C6ng ngh6 th6ng tin, nguoi huOng ddn lufln vdn vd hgc vi6n c6 t€n o Ei6u cdn cu'Quy6t dinh thi hdnh./ U TRU6NG TRI,6NG Noi nhQn: - Nhu di€u 3; - Luu: Phdng ET ! *W6 Th! Kim Oanh DAI HQC DANANG rRrroNG EAr HQC BACH KHOA CQNG HOA XA HQI CHU NGHIA VIET NAM DQc l$p - TB'do - [I4nh phric HO SO HoI DONG DANH GIA LUAN vAN TTT,q,C Si Hgc vi6n: Ph4m I Vin Tinh tr Bi6n bin HQi tl6ng Bing di6m cria hgc vi6n Lf Bi6n bin ki6m phi6u Nhpn x6t m cao hgc tr llch khoa hgc cria hgc vi6n K NHAN XtrT 't"[ HO VA TEN TR]ICH NHIPM TRONG HQIDONG I TS Nguy6n Vdn I'IiQu ch.i tich HQi d6ng TS E[ng Hodi Phuong Thu bj, HQi d6rtg l TS 'I'rAn ThC Vu Phdn biQn TS Nguy€n Quang Vf, Phdn bi€n TS Nguy6n Thi Hoa HuQ PGS.TS Nguy6n Thanh Binh Bdn nhQn xdt Phiiu eliint I Uy viAn Ngudi hudng ddn Dd Ning, ngdy d\ thdng [N ndm 201I Thu kY HQi d6ng 4ry e"l ir; t{'ionl DAr Hec oa NANc rnUcrNc DAI Hgc sAcH KHoA ceNG HoA xA Hgt cHU Ncni.ar VIET NAM DQc lfp - Tg - H4nh phtic Br6,N gAx HQp HQI oONc oANH GIA LUAN vAx rHAC si Ngdy 13" th6ng J9 ndm 01.(., Hqi d6ng dugc 14p theo Quyiit dinh s6 c0a HiQu tru&ng truhng EPi hqc B6ih khoa, g6m c6c thdnh vi6n: HQ vA TT roN CLJONG vI TRONG HQI DONG I TS Nguy6n Vdn HiQu Cht tich HQi cl6ng TS Dpng Hodi Phuong Thu ky HQi d6ng TS TrAn ThO TS l,{guy6n Quang Vff TS Nguy6n Thi Hoa HuQ dA Uy vi6n Phin biQn V[ Uy vi€n Ph6n biQn2 uy vlen thpc si: h'p (co m[t:.Q5, ving m6t: 0.thenh vi6n) ae aanfr gi6 lu6n vdn - T6n OC tai: Ung &pg gidi thuqt di truyin sinh dtr lieu thu bao phil cdu truc cia chuong trinh Java - Khoa hgc m6y tirfrr (K32'KMT) Chuy6n ngdnh: Ctra hqc vi6n cao hoc: Ph4m'VIn Tinh NQi dung nu6i hqp tl6nh gi6 gdm c6c phAn chfnh sau tl6y: lf a Thu kf HQi d$ng b6o c6o qu6 trinh hqc tfp, nghidn cftu vd c19c b lich khoa hgc cira hqc vi6n (c6 v6n bin kdm theo); Hgc vi6n trinh bdY luQn vdn; c.C6cph6nbiQndgcnh0nx6tvdn6uc6uhoi(cov6nb6nkdmtheo); d Hgc vi6n tr6ldi c6c c6u h6i cira vi6n Hoi d6ng; e f g HQi d6ng th6o lu$n kin vir d6nh gi6; vd phi6u kdm theo)' uu r.a, qua.1"co ui6n bin ki6m phii5u Kicm ,ht6;;; Tdc gittluqn vin Ph6t bi0u f ki6n Chu tich HQi d6ng tuY6n b6 bC m?c' h r6t ;;; tu$n cfra HQi tldng: a) Ket luQn chung: b) YCu cAu chinh, stra vA nOi dung: + kii5n kh6c: c Cdc d) Di6m d6nh gi6: BSng s6: THU ri chir: CHU TICH HQI DONG uQt oONc ll-lm,t,A /l! - W Nr-y'> r'G^,' WI^MT H-QC nAcn TL HIEU TRUONG TRttoNG PHONG EAO r4o xAc NHAN cuA TRIIoNG DAl F KHoA C r/4:?, pa NANc rntlclNc DAI Hec sAcH KHoA ceNG HoA xA uQl cHU NcHia vIET NAM DQc lflp - Tg - H4nh Phfc DAI Hec CAU HOI VA TRA LOI Kdm theo Bi0n ban hqp HQi d6ng d6nh gi6lufln v[n th4c si Cfia hec vi6n: Pb-.\14il4 IriLr .\ J \, ^'t I I I s t l,\ z1 l I rHu rY HQr D6NG ltry ey,;11 lttrk 7.r.; ?k I ,ofi,)' .G.n;;.ktio /\/^J 5- Nhirng thi6u s 6t *;.{* w6 O !!h .4:'5 L+4 '- 'L! 'olo' 'cloo' luin &+1, u.{ {' ti6n tr6t )t: ,1a,1 c,oo il",5 ,8: /14; '7d; c.4** .n) (mric d0 ; :1* j! ::i,:*; :fu-* tr iru; :;u-: ti {-l.e .(i .,a -L frn ,L,4 , lrr '( f [.,' u+] h./l c-, a qil * i;', be/, t -qs*o,,.4u'r,y, :tt.5n ct1 w ;::fff:re::A;:il:*.U- ; u*- ;yloi ia $?,+ pk*p n6t qufl khoa hdc cria ad tai: {- No, cfy cria cic :- vd t-s H* h', i,!*;tr:*g ffif,*" **r- :t1-,*, *u'.4, trn r.iq .ig-a , i^.*"r ,f,; n.d" *,,n-A Ju-.l,t,ai, ,/4'' ), Z- Vd phuong ph6p nghiGn cfru, ttQ tin e: " *"ht l>^, fhrr.' *il.? s4: L( l-h,,',ii ft,,' X;:; h;;-";/ "i", ua !.*^kt 1rri Lil- q"il 4.hdr' nq Lr,.drn Q,ltfi, xdt chtlng @du cd)) ' s6 tiEu: