I lead the SENSE Lab, a multidisciplinary software engineering research laboratory at Polytechnique Montréal. Our research focuses on the human aspects of software engineering, particularly developers’ problem-solving strategies, creativity, trust, and human-AI agent collaboration. We study how developers understand problems, make decisions, generate solutions, and interact with tools and AI-supported systems, with particular attention to human factors such as gender and native language. By combining human-centric design, experimental methodologies, and biometric measures, we investigate developers’ cognitive processes and work toward improving the overall developer experience.
Our mission is to improve software engineering tools and methodologies by making them more inclusive, trustworthy, creative, and better suited to the diverse needs of developers.
Google Scholar | DBLP
In software development, where integration of diverse tools and artifacts is widespread, the issue of trust in software—whether developed in-house or by others—becomes paramount. This trust is crucial for software reuse and hinges on reliability, safety, and effectiveness. Yet, developers may either overtrust, ignoring potential flaws, as seen in the Heartbleed vulnerability case, or undertrust, such as in their reluctance to adopt machine-generated code despite its proven quality. Despite the importance, research on how developers perceive software trustworthiness and its impact on their cognitive processes is limited. Factors like age and gender are known to influence trust, suggesting a need for a deeper investigation into these aspects. Our research seeks to fill this gap by examining how trustworthiness perceptions affect developers' cognitive processes and software engineering (SE) outcomes, emphasizing the roles of age and gender. Through controlled studies and tools like eye tracking and neuroimaging, we aim to gain insights into the cognitive dynamics of software trust.
Related articles:
Creative ideation and its adaptive value in reacting to new events are critical to advancing scientific and technological innovation. Software development involves problem-solving, which inherently requires creativity. Yet, the available research on creativity, particularly in software engineering, is fragmented and limited. In addition, there is a need for a consensus on the degree to which creativity is essential in software engineering tasks and how it can be effectively integrated into the development process. This project aims to empirically evaluate and comprehend the impact of creativity on developers’ cognitive processes during the execution of diverse software engineering tasks. The principal objectives that have been set forth for the proposed research projects are twofold: Firstly, to explore the influence of creativity on the performance and outcome of developers, and secondly, to examine the extent to which human factors, such as gender and native language, play a role in the impact of creativity on software engineering tasks. By combining the traditional psychometric approach of using creative thinking test scores with analyzing attention parameters measured through eye-tracking methodology, we aim to understand the creative thinking process for software engineering tasks comprehensively. In addition, we favor biological objective measures collected by neuroimaging to provide insights into the cognitive processes that underlie various software engineering activities and to complement and enhance the data collected. Our compound approach has the potential to capture the interplay between the participants’ creativity level, cognitive load, and the outcome
Related articles:
Autonomous coding agents are increasingly participating in software development by generating repository-level pull requests that must be reviewed, discussed, and integrated by human teams. This project studies how AI agents reshape collaborative software engineering workflows, including integration outcomes, review communication, task allocation, and developer trust. By analyzing real-world pull requests and human-agent interaction patterns, we aim to better understand the socio-technical impact of coding agents and support more effective, transparent, and trustworthy human-AI collaboration in software engineering.
Related articles: