Ongoing Research Work

Investigating the Underlying Motivations of Software Practitioners for the Adoption of ChatGPT in Software Development Tasks

Over the past year, we have seen a drastic increase in the use of AI assistants like ChatGPT as a tool within the context of software engineering. As such, numerous studies have emerged to study the various usages and perceptions of ChatGPT as a tool to support completion of software development tasks, such as coding and program comprehension. A recent study we conducted found that practitioners may be using ChatGPT to support program repair more than tools designed for this purpose (e.g., automated program repair tools). Building on these insights, we investigated the ways practitioners are using ChatGPT to support software development tasks. While use in this context may not appear problematic, studies have shown that AI assistants like ChatGPT can affect productivity and solution quality. Despite all the evidence of use in practice, little to no work has investigated why developers use AI assistants like ChatGPT in lieu of (or as a supplement to) existing tool support. To this end, we propose research that explores the factors contributing to the use of ChatGPT to support software development tasks. With a better understanding of why practitioners use ChatGPT, in combination with our contributions regarding when and how, we can begin to explore and provide effective software development support.

Investigating the Effects of AI-Assisted Tool Use on Software Practitioner Well-being

Software practitioners who struggle with mental health issues, such as ADHD or depression, face unique challenges in the technology sector that can significantly impact their mental health and productivity. While artificial intelligence (AI) assistants like ChatGPT and AI-assisted software tools like Copilot are known to enhance productivity generally, there is a lack of specific understanding regarding their influence on the mental well-being and professional productivity of individuals with diagnosed mental health issues. This research aims to examine the impact of AI-assisted tools on software practitioners with mental disabilities, exploring both the positive and negative effects. The objective is to tailor AI technologies to better support the mental well-being of all software practitioners, particularly those with mental health conditions, thereby filling a critical research gap.

Prior Research Work

Exploring Experiences with Automated Program Repair in Practice

Automated program repair, also known as APR, is an approach for automatically repairing software faults. There is a large amount of research on automated program repair, but very little offers in-depth insights into how practitioners think about and employ APR in practice. To learn more about practitioners' perspectives and experiences with current APR tools and techniques, we administered a survey, which received valid responses from 331 software practitioners. We analyzed survey responses to gain insights regarding factors that correlate with APR awareness, experience, and use. We established a strong correlation between APR awareness and tool use and attributes including job position, company size, total coding experience, and preferred language of software practitioners. We also found that practitioners are using other forms of support, such as co-workers and ChatGPT, more frequently than APR tools when fixing software defects. We learned about the drawbacks that practitioners encounter while utilizing existing APR tools and the impact that each drawback has on their practice. Our findings provide implications for research and practice centered on development, adoption, and use of APR.