I study how humans interact with code and design new ways to build software. I work at the intersection of software engineering and human-computer interaction.
I use behavioral methods to study developers as users of their programming tools, understand what makes designing, implementing, and debugging software hard, and re-envision the relationship between developers and code. A key focus of my work has been designing new techniques to view and manipulate code. I have pioneered the design of crowdsourced programming environments, which reify developer’s design knowledge, strategies, and mental models in explicit forms which can be manipulated by program analysis tools and connected to code.
Our paper on How omniscient debuggers impact debugging behavior will appear at VL/HCC 2025.
Our paper on The Evolution of Information Seeking in Software Development: Understanding the Role and Impact of AI Assistants will appear at HumanAISE 2025.
Our paper on OurCode: Experiences Transitioning University Research into a Developer Tools Startup will appear as a FSE 2025 Industry Paper.
I gave a keynote at ICPC 2025 on Theories of Program Comprehension in the Age of LLMs.
I joined the editorial board of Empirical Software Engineering.
Our paper on Advancing HCI with Neuromorphic Technology: Guidelines for Designing User-Friendly Developer Tools for Neuromorphic Development appeared at CHI 2025.
My students, Emad Aghayi, David Samudio, and Sahar Mehrpour, successfully defended their dissertations.
Our paper on How many pomodoros do professional engineers need to complete a microtask of programming? appeared as a FSE 2024 Industry Paper.
I was honored to be recognized as a George Mason University Teacher of Distinction.
Ruochen Wang
|
Mainul Hossain
|
Abdulaziz Alaboudi
|
Emad Aghayi
|
David Samudio
|
Sahar Mehrpour
|
Maryam Arab
|






What do we know about human aspects of software development? Bibliography
How has software engineering research evolved over the past 4 decades? Tag Clouds
Evaluating programming languages and tools in studies with human participants Paper, Slides from tutorial