About
I have been a faculty member in the Department of Computer Science at Bowling Green State University, USA, since 2022. Before joining BGSU, I worked as a faculty member in the Department of Computer Engineering at Sharif University of Technology, Iran, starting in 2012. In 2011, I worked as a Software Engineer at Xtreme Labs Inc. (acquired by Pivotal) in Toronto, Canada. Before that, I was a post-doctoral fellow in the Faculty of Informatics at the University of Lugano, Switzerland, in 2010, working with Prof. Walter Binder. I completed my PhD studies in 2009 under the supervision of Prof. Krzysztof Czarnecki in the School of Computer Science at the University of Waterloo, Canada. I also received my MSc and BSc degrees from the Department of Computer Engineering at Sharif University of Technology in 2001 and 1999, respectively.
Education
Waterloo, Canada
Department: School of Computer Science
Degree: PhD in Computer Science
Year: 2009
Sharif University of Technology
Tehran, Iran
Department: Department of Computer Engineering
Degree: MSc. in Software Engineering
Year: 2001
Sharif University of Technology
Tehran, Iran
Department: Department of Computer Engineering
Degree: BSc. in Software Engineering
Year: 1999
Academic and Industry Experience
[Aug. 2022 – Present] | Assistant Professor, Department of Computer Science, Bowling Green State University, USA. |
[May 2012 – Aug. 2022] | Faculty Member, Department of Computer Engineering, Sharif University of Technology, Iran. |
[June 2017 – Dec. 2017] | Visiting Faculty and Sessional Lecturer, School of Computer Science, University of Waterloo, Canada. |
[Jan. 2011 – Jan. 2012] | Software Engineer, Xtreme Labs Inc., Toronto, Canada. (acquired by Pivotal) |
[Jan. 2010 – Jan. 2011] | Post-doctoral Fellow, Faculty of Informatics, University of Lugano, Switzerland. |
[May 2004 - June 2004] | Visiting PhD Student, Software Engineering Group, Centrum Wiskunde & Informatica (CWI), The Netherlands. |
[Sep. 2002 – June 2009] | Graduate Research Assistant, David R. Cheriton School of Computer Science, University of Waterloo, Canada. |
Research
My research interests lie in software engineering, with a particular focus on the intersection of artificial intelligence (AI) and software engineering (SE), often referred to as AI4SE and SE4AI. Specifically, within my research group, we leverage AI and data science methodologies to automate and resolve real-world software engineering challenges faced by developers in their daily tasks. These challenges encompass fault localization, debugging, bug prediction, feature location, requirements engineering, code comprehension, and more. To tackle these issues, we delve into extensive software repositories such as app stores (e.g., Google Play), Q&A forums (e.g., Stack Overflow), source code repositories (e.g., GitHub), and bug repositories (e.g., Bugzilla). Through mining and analysis of this wealth of data, we uncover valuable insights and actionable information about software systems and projects.
Research Interests:
- AI4SE and SE4AI
- Software Analytics
- Intelligent Software Engineering
- Software Maintenance and Evolution
- Empirical Software Engineering
Publications:
My publications are listed on my Google Scholar profile and on DBLP.
Teaching
Bowling Green State University (Fall 2022 - Present):
- CS 4/5050: Research Methods in Computer Science (Graduate - Undergraduate Course)
- CS 4/5620: Database Management Systems (Graduate - Undergraduate Course)
- SE 3540: Introduction to Software Engineering (Undergraduate Course)
- CS 3350: Data Structures (Undergraduate Course)
Sharif University of Technology (Fall 2012 - Spring 2022):
- CE 40925: Data Science in Software Engineering (Graduate Course)
- CE 40679: Software Evolution (Graduate Course)
- CE 40688: Software Requirements Engineering (Graduate Course)
- CE 40418: Systems Analysis and Design (Undergraduate Course)
- CE 40384: Database Design (Undergraduate Course)
- CE 40428: IT Project Management (Undergraduate Course)
University of Waterloo (Fall 2017):
- CS 246: Object-Oriented Software Development (Undergraduate Course)
Service
Conference PC Member:
- 22nd IEEE/ACM International Conference on Mining Software Repositories (MSR'2025)
- 32nd IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER'2025)
- The 2024 ACM International Conference on the Foundations of Software Engineering (FSE'2024), Tool Demonstrations Track
- 21st IEEE/ACM International Conference on Mining Software Repositories (MSR'2024)
- 31st IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER'2024)
- 20th IEEE/ACM International Conference on Mining Software Repositories (MSR'2023)
- 18th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS'2023)
- 30th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER'2023)
- 19th IEEE/ACM International Conference on Mining Software Repositories (MSR'2022)
- 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER'2022)
- 18th IEEE/ACM International Conference on Mining Software Repositories (MSR'2021)
- 3rd International Workshop on Software Security from Design to Deployment (SEAD@FSE'2020)
- 2nd International Workshop on Software Security from Design to Deployment (SEAD@ASE'2019)
- 26th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER'2019)
- 2nd International Workshop on Cloud Adoption and Migration (CloudWays'2016)
Journal Reviewer:
- ACM Transactions on Software Engineering and Methodology
- Journal of Systems and Software
- Software: Practice and Experience
- Information and Software Technology
- Software: Evolution and Process
- IBM Systems Journal
- Software Engineering and Knowledge Engineering
Conference Co-reviewer:
- 31st IEEE/ACM International Conference on Software Engineering (ICSE'2009)
- 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE'2008)
- 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'2007)
- 21st European Conference on Object-Oriented Programming (ECOOP'2007)
- 5th ACM International Conference on Generative Programming and Component Engineering (GPCE'2006).