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.
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.
(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
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.
Work Experience
Research Assistant
Polytechnique Montreal
(01/2019 to present)
Research and Development Intern
Airudi
(01/2021 to 12/2021)
Applied deep learning models to enhance the performance of online profile matching of applicants with the job posts.
Improved the performance of ranking applicants by expanding the search query of recruiters with Word Embedding and Document Embedding.
Junior Software Project Manager
Samsung Electronics
(04/2018 to 12/2018)
Successfully delivered three software projects built for analyzing the data collected for trade marketing and mobile retail sales. One of the projects was recognized as the best practice of the region and acknowledged as a solution to a long-standing problem in the gift redemption process.
Software Engineer
Ericsson
(04/2018 to 12/2018)
Developed and maintained a platform to automate more than 100 innovative reports and dashboards for network optimization and management. The application analysed and visualized the unstructured data of mobile network (2G/3G/LTE) statistics and helped optimization engineers to improve the performance of the network. (Using python, dotNet and highcharts, oracle database, SQL server database)