Author ORCID Identifier
0000-0003-2477-9971
Defense Date
2024
Document Type
Dissertation
Degree Name
Doctor of Philosophy
Department
Computer Science
First Advisor
Dr. Kostadin Damevski
Second Advisor
Preetha Chatterjee
Third Advisor
Dr. Bridget Thomson-McInnes
Fourth Advisor
Dr. Rodrigo Spinola
Fifth Advisor
Dr. Shadi Rezapour
Abstract
Emotions play an integral yet understudied role in open-source software development, profoundly shaping critical collaborative processes such as knowledge sharing, decision-making, and team dynamics. However, accurately detecting and analyzing emotions in developer communications poses significant challenges due to the lack of visual and auditory cues in text-based interactions. This dissertation investigates techniques to enhance the understanding and modeling of emotions within the textual artifacts of open-source projects. We conduct an extensive evaluation of existing emotion classification tools using a novel dataset of annotated GitHub comments. An error analysis reveals deficiencies in handling implicit emotional expressions and figurative language. We demonstrate that targeted data augmentation techniques can significantly enhance these tools, improving their performance on emotion classification tasks.
Next, we investigate the feasibility of utilizing Large Language Models (LLMs) such as BERT, RoBERTa, ALBERT, and CodeBERT for emotion classification. We find that they surpass domain-specific tools. Targeted improvements can be achieved through fine-tuning, improving the models' understanding of polarity and overall performance. However, our error analysis reveals that LLMs also struggle with figurative language. To address this, we conduct a study on software engineering-specific idioms and metaphors. By applying contrastive learning and task-specific fine-tuning, we enhance the models' ability to understand the context of figurative expressions. This approach shows consistent improvement in emotion classification as well as related tasks such as incivility classification and bug report prioritization.
Additionally, we experiment with the feasibility of utilizing zero-shot reasoning to automatically extract emotion causes from developer communications. By formulating suitable prompting strategies, generative Large Language Models like ChatGPT, GPT-4, and Flan-Alpaca exhibit reasonably accurate zero-shot performance on this challenging task. A case study uncovering common triggers of Frustration in TensorFlow issues showcases potential applications for gaining actionable insights. Furthermore, our research proposes an extension of the standard emotion taxonomy to better capture the diverse range of emotions expressed in software engineering texts, facilitating more accurate and nuanced emotion analysis.
Rights
© The Author
Is Part Of
VCU University Archives
Is Part Of
VCU Theses and Dissertations
Date of Submission
7-15-2024