About me
Researcher at Huawei Canada, 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 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). Also, 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 Huawei Canada, I was a Research Associate at Polytechnique Montréal. And before that, I worked at University of Montréal as Invited Researcher, and at K. N. Toosi University of Technology as Assistant Professor. My main research focus was 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. During my graduate studies, I mainly investigated 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 Software Engineering, Software Testing, Reinforcement Learning, Multi-Agent Systems