Home

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 aims to solve overarching problems in software and data analytics teams. I focus on improving tools for software documentation, security, and program repair using machine learning (ML), deep learning (DL), and natural language processing (NLP) techniques. In parallel, I investigate optimal ways of designing, testing, and operationalizing Machine Learning Software Applications (MLSAs) into real-world software systems.

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.

In my PhD, I leveraged Natural Language Processing and Machine Learning techniques on the vast amount data available in online software repositories. I created Opiner, an opinion search and summarization engine for APIs (Application Programming Interfaces) by automatically crawling online developer forum where usage of APIs is discussed by software developers. APIs are interfaces to reusable software components. Opiner website is available online.

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.