MPCoder: Multi-user Personalized Code Generator with Explicit and Implicit Style Representation Learning
Abstract: Large Language Models (LLMs) have demonstrated great potential for assisting developers in their daily development. However, most research focuses on generating correct code, how to use LLMs to generate personalized code has seldom been investigated. To bridge this gap, we proposed MPCoder (Multi-user Personalized Code Generator) to generate personalized code for multiple users. To better learn coding style features, we utilize explicit coding style residual learning to capture the syntax code style standards and implicit style learning to capture the semantic code style conventions. We train a multi-user style adapter to better differentiate the implicit feature representations of different users through contrastive learning, ultimately enabling personalized code generation for multiple users. We further propose a novel evaluation metric for estimating similarities between codes of different coding styles. The experimental results show the effectiveness of our approach for this novel task.
Paper Type: long
Research Area: NLP Applications
Contribution Types: NLP engineering experiment, Approaches low compute settings-efficiency, Publicly available software and/or pre-trained models
Languages Studied: English,Programming language
Preprint Status: There is no non-anonymous preprint and we do not intend to release one.
A1: yes
A1 Elaboration For Yes Or No: Section “Limitations”
A2: yes
A2 Elaboration For Yes Or No: Section “Ethics Statement”
A3: yes
A3 Elaboration For Yes Or No: Section “Abstract” and “Introduction”
B: yes
B1: yes
B1 Elaboration For Yes Or No: Section “Experiments”
B2: no
B2 Elaboration For Yes Or No: No, all artifacts we used are based on open-source and have no restricition for research
B3: yes
B3 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
B4: yes
B4 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
B5: yes
B5 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
B6: yes
B6 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
C: yes
C1: yes
C1 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
C2: yes
C2 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
C3: yes
C3 Elaboration For Yes Or No: Section “Experiments” ,“Appendix A”,”Appendix B”
C4: yes
C4 Elaboration For Yes Or No: Section “Experiments” ,“Appendix A”. We report used pre-trained models served by Huggingface
D: no
D1: n/a
D2: n/a
D3: n/a
D4: n/a
D5: n/a
E: yes
E1: yes
E1 Elaboration For Yes Or No: Section “Experiments” and “Appendix A”
0 Replies
Loading