I am a toolmaker. I work at the intersection of SWE and HCI.
To create tools, I believe strongly in user-centered design. My research goal is to make developers more productive by providing better development tools and approaches. My research focuses on understanding and improving the human aspects of software development's technical work to invent better tools. My research involves understanding developer behaviors, identifying problems, and designing tools to help with those problems using various HCI methods at each stage to achieve this goal.
For details on other projects, please see my CV

News

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 Aghayi

Computer Science PhD student advised by Dr. Thomas LaToza