I do research on data intensive software systems. My work lies at the intersection of software engineering and data science practices, with a strong focus on the research of practical tools and techniques that aim to solve overarching problems in software and data analytics teams. In particular, I focus on the automatic creation of efficient software documentation, summarization, and recommendation techniques by combining natural language processing, machine learning and software engineering.

My research is influenced by my 10+ years of full-time professional experience at the Industry, both as a data scientist and as a software developer. I was a Senior Data scientist at the Data and Statistics Office of Bank of Canada. I also worked at IBM Canada, both as a researcher and as a software engineer. At IBM, I was part of the IBM Watson Analytics team.

My research projects generally involve four distinct phases: (1) Problem Formulation using empirical and user studies, (2) Development of Techniques using heuristics and machine learning algorithms, (3) Deployment of Tools with the developed techniques, and (4) Evaluation of the Developed Techniques and Tools using empirical and user studies.

In my PhD, I leveraged Natural Language Processing and Machine Learning techniques on the vast amount data available in online software repositories. As part of my PhD research, I have created Opiner, an online opinion search and summarization engine for APIs. Check out Opiner at: http://opiner.polymtl.ca

Prospective Students

I have multiple openings for full-funded Masters and PhD students. I am looking for motivated and hard working students. Please see details about students here.