- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- From understanding to repair : an empirical and agentic...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
From understanding to repair : an empirical and agentic investigation of Ruby developer challenges Akbarpour, Nikta
Abstract
This thesis investigates the challenges faced by Ruby developers and proposes an automated, language-specific solution to one of their most critical problems which is program repair. The research is conducted in two phases. In Phase One (Unveiling Ruby), we examine the landscape of Ruby development by analyzing 498,719 Ruby-related questions from Stack Overflow and validating the findings through a survey of 154 developers. Using BERTopic for topic modeling, GPT-4o for taxonomy construction, and human validation, we identify a three-level hierarchy of 35 topics, 18 middle categories, and six main categories of Ruby challenges. The results reveal that web application development, application quality and security, and data management are the most discussed areas, while debugging and repair are perceived as the most time-consuming tasks. The study also exposes discrepancies between objective platform metrics and developers’ perceived difficulty, emphasizing the need for better evaluation methods and more supportive tools for Ruby practitioners. In Phase Two (RAMP: Ruby Automated Multi-Agent Program Repair), we introduce a lightweight, feedback-driven framework for Automated Program Repair that uses large language models in a multi-agent setup. RAMP distributes the repair process among specialized agents: Programmer, Test Designer, Test Executor, and Feedback Integrator, who collaborate iteratively through test-guided reflection. Evaluated on the Ruby subset of the XCodeEval benchmark, RAMP achieves a pass@1 accuracy of 67.0%, outperforming baselines such as LANTERN, ChatRepair, Self-Planning, and Self-Collaboration, while remaining resource-efficient. Together, these two phases bridge empirical understanding and intelligent automation. The findings provide the first comprehensive characterization of Ruby developer challenges and demonstrate the feasibility of lightweight, feedback-driven repair systems for underexplored languages. This work contributes to both empirical software engineering and LLM-based program repair by emphasizing data-driven, and resource-aware approaches to improving developer productivity.
Item Metadata
| Title |
From understanding to repair : an empirical and agentic investigation of Ruby developer challenges
|
| Creator | |
| Supervisor | |
| Publisher |
University of British Columbia
|
| Date Issued |
2025
|
| Description |
This thesis investigates the challenges faced by Ruby developers and proposes an automated, language-specific solution to one of their most critical problems which is program repair. The research is conducted in two phases. In Phase One (Unveiling Ruby), we examine the landscape of Ruby development by analyzing 498,719 Ruby-related questions from Stack Overflow and validating the findings through a survey of 154 developers. Using BERTopic for topic modeling, GPT-4o for taxonomy construction, and human validation, we identify a three-level hierarchy of 35 topics, 18 middle categories, and six main categories of Ruby challenges. The results reveal that web application development, application quality and security, and data management are the most discussed areas, while debugging and repair are perceived as the most time-consuming tasks. The study also exposes discrepancies between objective platform metrics and developers’ perceived difficulty, emphasizing the need for better evaluation methods and more supportive tools for Ruby practitioners. In Phase Two (RAMP: Ruby Automated Multi-Agent Program Repair), we introduce a lightweight, feedback-driven framework for Automated Program Repair that uses large language models in a multi-agent setup. RAMP distributes the repair process among specialized agents: Programmer, Test Designer, Test Executor, and Feedback Integrator, who collaborate iteratively through test-guided reflection. Evaluated on the Ruby subset of the XCodeEval benchmark, RAMP achieves a pass@1 accuracy of 67.0%, outperforming baselines such as LANTERN, ChatRepair, Self-Planning, and Self-Collaboration, while remaining resource-efficient. Together, these two phases bridge empirical understanding and intelligent automation. The findings provide the first comprehensive characterization of Ruby developer challenges and demonstrate the feasibility of lightweight, feedback-driven repair systems for underexplored languages. This work contributes to both empirical software engineering and LLM-based program repair by emphasizing data-driven, and resource-aware approaches to improving developer productivity.
|
| Genre | |
| Type | |
| Language |
eng
|
| Date Available |
2025-12-17
|
| Provider |
Vancouver : University of British Columbia Library
|
| Rights |
Attribution-NonCommercial-NoDerivatives 4.0 International
|
| DOI |
10.14288/1.0451047
|
| URI | |
| Degree (Theses) | |
| Program (Theses) | |
| Affiliation | |
| Degree Grantor |
University of British Columbia
|
| Graduation Date |
2026-02
|
| Campus | |
| Scholarly Level |
Graduate
|
| Rights URI | |
| Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
Attribution-NonCommercial-NoDerivatives 4.0 International