I am a researcher who specializes in the intersection of Software Engineering (SWE) and Human-Computer Interaction (HCI). My goal is to enhance the productivity of developers by creating better tools and workflows for software development. To achieve this, I focus on understanding and improving the human aspects of technical work in software development. My research involves studying developer behaviors, identifying problems, and designing tools to address these issues using various HCI methods. For more information about my other projects, please see my CV

News

Dec. '22: I wrote my first blog entieled in Smoothing Onboarding to Open Source Software Development. Is it possible?

Nov. '22: Our journal paper on A Controlled Experiment on the Impact of Microtasking on Programming will appear on Empirical Software Engineering.

Nov. '21: I joined Thoghtworks as a Lead Software Engineer.

Apr. '21: I successfully passed my PhD Dissertation Proposal Defense on Microtask Programming [Proposal PDF] [Slides]. Several emails I recieved about sharing temaplate of my proposal. So I upload the Overleaf files of proposal. I hope it helps GMU PhD studnets. [GMU PhD Proposal Template LaTeX]

Sep. '20: Our research on "Can Microtask Programming Work in Industry?" won Distinguished Research Award from Information Processing Society of Japan (ISPJ).

Aug. '20: Our paper on Can Microtask Programming Work in Industry? will appear on ESEC/FSE '20.

Aug. '20: Our journal paper on Crowdsourced Behavior-Driven Development will appear on JSS '21.

May. '20: My application to VL/HCC '20 Graduate Consortium has been accepted! My paper entitled in Large-Scale Microtask Programming will appear on VL/HCC '20.

May. '20: Our paper on Find Unique Usages: Helping Developers Understand Common Usages will appear on VL/HCC '20.

Active Projects

These are areas we've recently published in.

Microtask Programing
Microtasks are short, self-contained unit of works, enabling large tasks to be completed quickly through solid parallelism. We designed and developed Crowd Microservices to explore the effects of applying microtasking to software development.
[VLHCC20_pdf], [CrowdMicroservices_Demo], [JSS21_pdf], [FSE20_pdf], [FSE20_Teaser], [FSE20_Video]
Find Unique Usage
How developers use Find Usages to understand and compare method uses and how better IDE support might help? When working in large and complex codebases, developers face challenges using Find Usages to understand how to reuse classes and methods We found that developers often wasted time reading long lists of similar usages or prematurely focused on a single usage. Based on these findings, we hypothesized that clustering usages by the similarity of their surrounding context might enable developers to more rapidly understand how to use a function.
[Preprint_VLHCC20] [Slides] [Code]


Emad Aghaei

Computer Science PhD student advised by Dr. Thomas LaToza