Research

My research field is empirical software engineering with a focus on human aspects. I conduct interdisciplinary research at the intersection of software engineering and cognitive psychology that is sometimes accompanied by Machine Learning (ML) techniques and social psychology theories. My broader vision is to enhance software practitioners' judgment and decision-making to improve software and development quality through the development of (1) tools and techniques based on cognitive psychology; and (2) ML systems with human in the loop that can be regarded as a joint cognitive system, extending human-intelligence.

Limitations in human cognition (e.g., long-term memory, working memory) often lead to systematic thinking errors known as cognitive biases. For instance, while using text to convey information, how the wording is done can either deteriorate or enhance human judgment. Hence, while investigating developers' information needs, it is also crucial to consider how to present it, which requires understanding human cognitive limitations.

I am currently interested in software engineers' cognition limitations during program comprehension and software development activities (e.g., unit/functional testing and code review). For this purpose, I design experiments and studies in the wild besides conducting quantitative analyses on data from systems logs and tools (e.g., issue management systems).

I also previously worked in building ML-based recommender systems as a facilitator of software practitioners' decision-making. Besides, I took part in developing prototypes for privacy-aware software, referring to theories on group dynamics from social psychology literature.