Arghavan Moradi Dakhel

(she/her) How to pronounce Arghavan

Ph.D. Candidate in Software Engineering for AI (#SE4AI , #SE4ML)

Department of Computer Engineering 

Polytechnique Montreal

SWAT Lab

Hi! 

I am Arghavan, a Ph.D. student at Polytechnique Montréal University. I work under the supervision of Prof. Foutse Khomh and Prof. Michel C. Desmarais in collaboration with  SWAT Lab and CALM Lab. My research is focused on but not limited to developing, enhancing, and evaluating AI (DL/ML) techniques to automate software engineering tasks, with the ultimate goal of improving developers' productivity. To address this problem space, I dig into developers' codes and contributions in open-source environments. Also, I research ways to evaluate large language models for generating codes and explore ways to use such models to enhance human programming skills and productivity. My research interest intersects with machine learning/deep learning, software engineering, program synthesis, recommender systems, and human-computer/AI interaction.

Prior to pursuing my Ph.D., I earned a Master's degree in Software Engineering from Shahid Beheshti University. During my Master's education, I worked on improving user experience by enhancing recommender systems for a music social network. Additionally, I have five years of experience in software development and project management across various companies.

Publications

* denotes equal contribution 

GitHub Copilot AI pair programmer: Asset or Liability?

Arghavan Moradi Dakhel*, Vahid Majdinasab*, Amin Nikanjam, Foutse Khomh, Michel C. Desmarais, Zhen Ming (Jack) Jiang

In Elsevier, Journal of Systems and Software (JSS), 2023

In this study, we go beyond evaluating the correctness of Copilot's suggestions and examine how despite its limitations, it can be used as an effective pair programming tool.

[paper] [poster] [talk]

Dev2vec: Representing Domain Expertise of Developers in an Embedding Space

Arghavan Moradi Dakhel,  Michel C. Desmarais, Foutse Khomh

In Elsevier, Information and Software Technology (IST), 2023

In this study, we employ doc2vec and represent the domain expertise of developers in an embedding space from 3 different sources of information, repositories meta-data, issue resolving history of developers, and API calls in their commits. Our results indicate that our proposed methods outperform state-of-the-arts.

[paper

Assessing Developer Expertise from the Statistical Distribution of Programming Syntax Patterns

Arghavan Moradi Dakhel, Michel C. Desmarais, Foutse Khomh

25th ACM International Conference on Evaluation and Assessment in Software Engineering (EASE 2021)

In this study, we focus on syntactic patterns mastery as evidence of knowledge in programming and propose a theoretical definition of programming knowledge based on the distribution of Syntax Patterns (SPs) in source code, namely Zipf’s law.

[paper] [talk]

(Best paper candidate in EASE 2021)

A Social Recommender System using Item Asymmetric Correlation 

Arghavan Moradi Dakhel, Hadi Tabatabaee Malazi, Mehregan Mahdavi

In Springer Applied Intelligence, 2018

In this study, we focus on improving the performance of social recommender systems by exploring the effect of combining the implicit relationships of the items and user-item matrix.

[paper] [presentation]

Workshop

Copilot_poster_ver3.pdf

GitHub Copilot AI pair programmer: Asset or Liability?

Arghavan Moradi Dakhel*, Vahid Majdinasab*, Amin Nikanjam, Foutse Khomh, Michel C. Desmarais, Zhen Ming (Jack) Jiang

SEMLA Poster and Exchange session, July 2022

Other Projects

A Human-Centred study on Software Security Update 

Arghavan Moradi Dakhel, Elaheh Astanehparast, Majid Rezazadeh

Software updates are released with the aim of improving the performance, stability, and security of the applications. But encouraging users to pay attention to and install them has been always challenging. This inattention results in many problems especially in terms of security. In this work, we present an interview and survey study focusing on the users’ attitudes on how often they prefer to receive updates and determining whether technical users and non-technical users have different preferences. Also, we find what characteristics should be considered for an update package so that the user is encouraged to install it. 

[presentation]

Work Experience

Research Assistant

Polytechnique Montreal

(01/2019 to present)

Research and Development Intern

Airudi

(01/2021 to 12/2021)

Junior Software Project Manager

Samsung Electronics

(04/2018 to 12/2018)

Software Engineer 

Ericsson

(04/2018 to 12/2018)