Arghavan Moradi Dakhel

(she/her) How to pronounce Arghavan

Postdoctoral Researcher (#AIware, #SE4AI , #AI4SE)

Mila

SWAT Lab

Hi! 

I am a postdoctoral researcher at Polytechnique Montréal and Mila, working with Prof. Foutse Khomh. My research is focused on integrating generative models to evolve the next generation of software creation. My key theme is how to use ML/DL techniques to create trustworthy, high-quality, and maintainable software. I work on establishing frameworks where both human developers and AI-based agents, such as LLM-based programming assistants, contribute to shaping software.  I am interested in researching ways to allow individuals with different levels of expertise to participate in the software creation process. I am also interested in personalizing the suggestions of LLM-based agents to align with the background and expertise level of the users.

I obtained my Ph.D. from Polytechnique Montréal under the supervision of Prof. Michel C. Desmarais and Prof. Foutse Khomh. During my Ph.D., I studied how to learn to generate high-quality code by leveraging different statistical learning techniques. I also used linguistic theories to model the expertise of developers based on their coding practices.

Prior to my Ph.D., I have five years of experience in software development and project management in different companies including Samsung Electronics and Ericsson.

Publications

* denotes equal contribution 

Effective Test Generation Using Large Language Models and Mutation Testing

Arghavan Moradi Dakhel, Amin Nikanjam, Vahid Majdinasab, Foutse Khomh, Michel C. Desmarais, 

2024

In this study, we borrow mutation testing from traditional software testing and propose a self-refinement prompt-based method to improve the effectiveness of test cases generated by LLM in revealing bugs.

[paper

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)