Duetcs: Code Style Transfer through Generation and Retrieval
- Resource Type
- Conference
- Authors
- Chen, Binger; Abedjan, Ziawasch
- Source
- 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE) ICSE Software Engineering (ICSE), 2023 IEEE/ACM 45th International Conference on. :2362-2373 May, 2023
- Subject
- Computing and Processing
Symbiosis
Metalearning
Codes
Databases
Instruments
Maintenance engineering
Encoding
- Language
- ISSN
- 1558-1225
Coding style has direct impact on code comprehension. Automatically transferring code style to user's preference or consistency can facilitate project cooperation and maintenance, as well as maximize the value of open-source code. Existing work on automating code stylization is either limited to code formatting or requires human supervision in pre-defining style checking and transformation rules. In this paper, we present unsupervised methods to assist automatic code style transfer for arbitrary code styles. The main idea is to leverage Big Code database to learn style and content embedding separately to generate or retrieve a piece of code with the same functionality and the desired target style. We carefully encode style and content features, so that a style embedding can be learned from arbitrary code. We explored the capabilities of novel attention-based style generation models and meta-learning and implemented our ideas in DUETCS. We complement the learning-based approach with a retrieval mode, which uses the same embeddings to directly search for the desired piece of code in Big Code. Our experiments show that DUETCS captures more style aspects than existing baselines.