TranS^3: A Transformer-based Framework for Unifying Code Summarization and Code Search
arXiv:2003.03238
Abstract
Code summarization and code search have been widely adopted in sofwaredevelopmentandmaintenance. However, fewstudieshave explored the efcacy of unifying them. In this paper, we propose TranS^3 , a transformer-based framework to integrate code summarization with code search. Specifcally, for code summarization,TranS^3 enables an actor-critic network, where in the actor network, we encode the collected code snippets via transformer- and tree-transformer-based encoder and decode the given code snippet to generate its comment. Meanwhile, we iteratively tune the actor network via the feedback from the critic network for enhancing the quality of the generated comments. Furthermore, we import the generated comments to code search for enhancing its accuracy. To evaluatetheefectivenessof TranS^3 , we conduct a set of experimental studies and case studies where the experimental results suggest that TranS^3 can signifcantly outperform multiple state-of-the-art approaches in both code summarization and code search and the study results further strengthen the efcacy of TranS^3 from the developers' points of view.
References in corpus (7)
- Efficient Estimation of Word Representations in Vector Space
- ERNIE: Enhanced Representation through Knowledge Integration
- A Theoretical Analysis of NDCG Type Ranking Measures
- CoaCor: Code Annotation for Code Retrieval with Reinforcement Learning
- A parallel corpus of Python functions and documentation strings for automated code documentation and code generation
- DeepBillboard: Systematic Physical-World Testing of Autonomous Driving Systems
- Characterizing and Detecting CUDA Program Bugs
Cited by in corpus (5)
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation
- Deep Learning-based Software Engineering: Progress, Challenges, and Opportunities
- Survey of Code Search Based on Deep Learning
- Code to Comment "Translation": Data, Metrics, Baselining & Evaluation
- FACOS: Finding API Relevant Contents on Stack Overflow with Semantic and Syntactic Analysis