About me

Researcher in the SWAT team, I am studying 1) how Software Engineering (SE) practices (like testing and fault localization) can be leveraged to Machine Learning-based systems with a focus on Testing Machine Learning (ML) based Software Systems and their Quality Assurance, 2) how Machine Learning techniques can be applied for (safety-critical) software systems in terms of robustness, explainability, and data privacy with a recent focus on Large Language Models (LLMs) for Code Generation. My research, in general, is toward development of novel techniques and tools to improve the dependability, certifiability, reproducibility, maintainability and explainability of software systems developed using Artificial Intelligence (like deep learning and deep reinforcement learning). I have empirically studied a wide range of Software Engineering problems, including software release pipeline, bug triaging and prediction, design pattern and anti-patterns.

Before joining Polytechnique Montréal, I was an invited researcher at University of Montréal. And before that, I was an assistant professor at K. N. Toosi University of Technology, Iran. I was working on Search-Based Software Engineering (specified by graph transformation system), and deep reinforcement learning in multi-agent systems. I received my Master’s and Ph.D. from Iran University of Science and Technology. I mainly studied evolutionary algorithms, their applications (function approximation with classifier systems) and efficiency enhancement of model learning in Estimation of Distribution Algorithms.

Research interests

SE4ML (Software Engineering for Machine Learning), Machine Learning Systems Engineering, Large Language Models for SE, Software Testing, Reinforcement Learning, Multi-Agent Systems