Chulalongkorn University Theses and Dissertations (Chula ETD)

Other Title (Parallel Title in Other Language of ETD)

An empirical study on the relationships between software developer characteristics and technical debts in software projects

Year (A.D.)

2024

Document Type

Independent Study

First Advisor

ทวิตีย์ เสนีวงศ์ ณ อยุธยา

Faculty/College

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

Department (if any)

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

Degree Name

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

Degree Level

ปริญญาโท

Degree Discipline

วิศวกรรมซอฟต์แวร์

DOI

10.58837/CHULA.IS.2024.290

Abstract

โครงงานมหาบัณฑิตนี้มีจุดมุ่งหมายเพื่อศึกษาความสัมพันธ์ระหว่างลักษณะของนักพัฒนาซอฟต์แวร์กับหนี้ทางเทคนิคโดยใช้ข้อมูลจากโครงการโอเพนซอร์ซภาษาไพทอนบนแพลตฟอร์มกิตฮับ และวัดหนี้ทางเทคนิคด้วยเครื่องมือโซนาร์คิวบ์ หนี้ทางเทคนิคเป็นตัววัดที่สำคัญซึ่งสะท้อนถึงปริมาณปัญหาที่ซ่อนอยู่ในโค้ด ซึ่งเกิดขึ้นจากการทำงานของนักพัฒนา โครงงานมหาบัณฑิตนี้ใช้แนวทางวิเคราะห์ข้อมูล โดยผสานการดึงข้อมูลผ่านกิตฮับเรสต์เอพีไอและโซนาร์คิวบ์ด้วยภาษาไพทอน แล้วนำมาทำการวิเคราะห์เชิงสถิติ การศึกษาแบ่งออกเป็นสามคำถามวิจัย ได้แก่ (1) สัดส่วนของนักพัฒนาที่ยังปฏิบัติงานอยู่มีความสัมพันธ์กับความหนาแน่นของหนี้ทางเทคนิคในโครงการหรือไม่ (2) ประสบการณ์ในการทำงานมีความสัมพันธ์กับการปรับปรุงประสิทธิภาพในการจัดการหนี้ทางเทคนิคของนักพัฒนาหรือไม่ และ (3) ประสบการณ์ในการทำงานซึ่งแตกต่างกันทำให้เกิดความแตกต่างในแง่การปรับปรุงประสิทธิภาพในการจัดการหนี้ทางเทคนิคของนักพัฒนาหรือไม่ ผลการวิเคราะห์สถิติโดยใช้สหสัมพันธ์ระยะทางสำหรับคำถามวิจัยที่ 1 และ 2 และการทดสอบแมนวิทนีย์ยูสำหรับคำถามวิจัยที่ 3 ไม่พบนัยสำคัญทางสถิติในการทดสอบสมมติฐานในทั้งสามคำถามวิจัยที่ระดับความเชื่อมั่น 95% สัดส่วนของนักพัฒนาที่ยังปฏิบัติงานอยู่ในโครงการและประสบการณ์ของนักพัฒนาไม่ได้เป็นปัจจัยโดยตรงที่เกี่ยวข้องกับความหนาแน่นของหนี้ทางเทคนิคที่ปรากฏในโครงการและประสิทธิภาพของนักพัฒนาในการปรับปรุงหนี้ทางเทคนิคในโครงการ สภาพหนี้ทางเทคนิคในโครงการอาจขึ้นกับปัจจัยอื่นร่วมด้วย เช่น แนวปฏิบัติหรือมาตรฐานในการปฏิบัติงานในโครงการ ในการควบคุมคุณภาพโค้ด และลักษณะเฉพาะของโครงการหรือนักพัฒนารายบุคคล

Other Abstract (Other language abstract of ETD)

This master project aims to investigate the relationship between software developer characteristics and technical debt, using data from Python open-source projects hosted on the GitHub platform and measuring technical debt using the SonarQube tool. Technical debt serves as a key metric that reflects the amount of hidden issues in the code, which stem from developers’ activities. This master project adopts a data analytics approach, integrating data extraction through the GitHub REST API and SonarQube using Python, followed by statistical analysis. This study explored three questions: (1) Is technical debt density related to the proportion of active developers? (2) Is developer experience linked to improvement in managing technical debt? (3) Do experience levels affect such improvement? Distance Correlation was used for questions 1 and 2, and the Mann–Whitney U test for question 3. No statistically significant results were found at the 95% confidence level. Neither active developer proportion nor experience showed a direct impact on technical debt or its improvement. Other factors, such as project practices, code quality standards, or individual characteristics, may play a greater role.

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.