Copy the page URI to the clipboard
Bui, Nghi D. Q.; Yu, Yijun and Jiang, Lingxiao
(2021).
DOI: https://doi.org/10.1145/3404835.3462840
Abstract
We propose Corder, a self-supervised contrastive learning framework for source code model. Corder is designed to alleviate the need of labeled data for code retrieval and code summarization tasks. The pre-trained model of Corder can be used in two ways: (1) it can produce vector representation of code which can be applied to code retrieval tasks that do not have labeled data; (2) it can be used in a fine-tuning process for tasks that might still require label data such as code summarization. The key innovation is that we train the source code model by asking it to recognize similar and dissimilar code snippets through a contrastive learning objective. To do so, we use a set of semantic-preserving transformation operators to generate code snippets that are syntactically diverse but semantically equivalent. Through extensive experiments, we have shown that the code models pretrained by Corder substantially outperform the other baselines for code-to-code retrieval, text-to-code retrieval, and code-to-text summarization tasks.
Viewing alternatives
Metrics
Public Attention
Altmetrics from AltmetricNumber of Citations
Citations from DimensionsItem Actions
Export
About
- Item ORO ID
- 78397
- Item Type
- Conference or Workshop Item
- ISBN
- 1-4503-8037-9, 978-1-4503-8037-9
- Project Funding Details
-
Funded Project Name Project ID Funding Body International Project on Big Code Forensics IES1191138 Royal Society Socio-technical resilience in software development (STRIDE) Not Set EPSRC - Keywords
- Deep Code Learning; Software Engineering; Trusted Programming
- Academic Unit or School
-
Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM) - Research Group
- Centre for Research in Computing (CRC)
- Copyright Holders
- © 2021 Association for Computing Machinery ACM
- Depositing User
- Yijun Yu