Chulalongkorn University Theses and Dissertations (Chula ETD)

Other Title (Parallel Title in Other Language of ETD)

Predicting code review results in open source projects on GitHub

Year (A.D.)

2018

Document Type

Thesis

First Advisor

พรศิริ หมื่นไชยศรี

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Department (if any)

Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)

Degree Name

วิทยาศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิศวกรรมคอมพิวเตอร์

DOI

10.58837/CHULA.THE.2018.1259

Abstract

กระบวนการรีวิวโค้ดบนกิตฮับ เป็นกระบวนการที่สำคัญกระบวนการหนึ่งในการทำงานบนกิตฮับ โดยนักพัฒนาซอฟต์แวร์จะทำการร้องขอการนำเข้าซอร์สโค้ดหลังจากทำการแก้ไขหรือเปลี่ยนแปลงซอร์สโค้ดเสร็จเรียบร้อยแล้ว ผู้ดูแลระบบจะเป็นผู้รีวิวซอร์สโค้ด โดยพิจารณาถึงคุณภาพ และรายละเอียดทั้งหมดของรายการร้องขอการนำเข้าซอร์สโค้ดนั้น ๆ จากการวิเคราะห์ผลการรีวิว พบว่ามีรายการร้องขอการนำเข้าซอร์สโค้ดจำนวนมาก ที่ไม่ผ่านการรีวิว เนื่องด้วยปัจจัยหลายประการ เช่น ความซับซ้อนของซอร์สโค้ด คุณภาพของซอร์สโค้ด รวมไปถึงจำนวนการเปลี่ยนแปลงไฟล์ เป็นต้น กระบวนการแก้ไขรายการร้องขอการนำเข้าซอร์สโค้ดที่ไม่ผ่านการรีวิวต้องใช้ความพยายาม และเวลาอย่างมากในการแก้ไข ซึ่งอาจส่งผลกระทบกับค่าใช้จ่ายของโครงการ หรือกำหนดการของโครงการได้ งานวิทยานิพนธ์นี้จึงออกแบบ แบบจำลองการทำนายผลการรีวิวโค้ดบนกิตฮับ โดยการวิเคราะห์ข้อมูลบนกิตฮับ กำหนดตัวแปรที่คาดว่าจะมีผลกระทบกับการรีวิวโค้ด รวมถึงการหาความสัมพันธ์ที่เกิดขึ้นบ่อยจากกฎความสัมพันธ์ จากนั้นทำการสร้างแบบจำลองการทำนายการรีวิวโค้ดบนกิตฮับด้วยวิธีการทางสถิติโลจิสติก และหลักการเรียนรู้ด้วยเครื่อง การวิเคราะห์โครงข่ายประสาทเทียมเพอร์เซปตรอนหลายชั้น ผลการทดลองแสดงสิบรายการร้องขอการนำเข้าซอร์สโค้ดที่พบบ่อยที่สุดในชุดข้อมูล และแบบจำลองการทำนายผลการรีวิวโค้ด โดยแบบจำลองที่ใช้ในการทำนายผลการรีวิวโค้ดที่ใช้การวิเคราะห์โลจิสติกในการวิเคราะห์ข้อมูลมีเปอร์เซ็นต์ความแม่นยำ 89.2307% และแบบจำลองที่ใช้การวิเคราะห์โครงข่ายประสาทเทียมเพอร์เซปตรอนหลายชั้น มีเปอร์เซ็นต์ความแม่นยำ 90.7692%

Other Abstract (Other language abstract of ETD)

Code review on GitHub is an important method for code contribution that will be submitted when the developers would like to merge their code changed from their local machine to the main repository. The reviewer will check the source code quality and all pull request details. The pull request status may be rejected due to several factors, such as code complexity, code quality, the number of changed files, etc. Fixing the rejected pull requests will take some extra effort and time which may affect the project cost and timeline. This thesis design the predicting code review results model by analyzing the data on GitHub, assign the related factors and also discover relationships among impact factors by using association rules in Data mining. The predicting code review results on GitHub is created by the logistic regression analysis in Statistical analysis and the multilayer perceptron in Machine learning. The results show ten associate rules of the source code file format with the related variables. The accuracy of predicting code review results model that used the logistic regression method is 89.2307%. For the multilayer perceptron in Machine learning is 90.7692%.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.