Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory

Abstract Source code suggestion is the utmost helpful feature in the integrated development environments that helps to quicken software development by suggesting the next possible source code tokens. The source code contains useful semantic information but is ignored or not utilised to its full pote...

Full description

Saved in:
Bibliographic Details
Main Authors: Yasir Hussain, Zhiqiu Huang, Yu Zhou
Format: Article
Language:English
Published: Wiley 2021-06-01
Series:IET Software
Subjects:
Online Access:https://doi.org/10.1049/sfw2.12017
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1832546646828777472
author Yasir Hussain
Zhiqiu Huang
Yu Zhou
author_facet Yasir Hussain
Zhiqiu Huang
Yu Zhou
author_sort Yasir Hussain
collection DOAJ
description Abstract Source code suggestion is the utmost helpful feature in the integrated development environments that helps to quicken software development by suggesting the next possible source code tokens. The source code contains useful semantic information but is ignored or not utilised to its full potential by existing approaches. To improve the performance of source code suggestion, the authors propose a deep semantic net (DeepSN) that makes use of semantic information of the source code. First, DeepSN uses an enhanced hierarchical convolutional neural network combined with code‐embedding to automatically extract the top‐notch features of the source code and to learn useful semantic information. Next, the source code's long and short‐term context dependencies are captured by using long short‐term memory. We extensively evaluated the proposed approach with three baselines on ten real‐world projects and the results are suggesting that the proposed approach surpasses state‐of‐the‐art approaches. On average, DeepSN achieves 7.6% higher accuracy than the best baseline.
format Article
id doaj-art-1a808b1f198741af8aad9845021ad6a9
institution Kabale University
issn 1751-8806
1751-8814
language English
publishDate 2021-06-01
publisher Wiley
record_format Article
series IET Software
spelling doaj-art-1a808b1f198741af8aad9845021ad6a92025-02-03T06:47:35ZengWileyIET Software1751-88061751-88142021-06-0115319921310.1049/sfw2.12017Improving source code suggestion with code embedding and enhanced convolutional long short‐term memoryYasir Hussain0Zhiqiu Huang1Yu Zhou2College of Computer Science and Technology Nanjing University of Aeronautics and Astronautics (NUAA) Nanjing ChinaCollege of Computer Science and Technology Nanjing University of Aeronautics and Astronautics (NUAA) Nanjing ChinaCollege of Computer Science and Technology Nanjing University of Aeronautics and Astronautics (NUAA) Nanjing ChinaAbstract Source code suggestion is the utmost helpful feature in the integrated development environments that helps to quicken software development by suggesting the next possible source code tokens. The source code contains useful semantic information but is ignored or not utilised to its full potential by existing approaches. To improve the performance of source code suggestion, the authors propose a deep semantic net (DeepSN) that makes use of semantic information of the source code. First, DeepSN uses an enhanced hierarchical convolutional neural network combined with code‐embedding to automatically extract the top‐notch features of the source code and to learn useful semantic information. Next, the source code's long and short‐term context dependencies are captured by using long short‐term memory. We extensively evaluated the proposed approach with three baselines on ten real‐world projects and the results are suggesting that the proposed approach surpasses state‐of‐the‐art approaches. On average, DeepSN achieves 7.6% higher accuracy than the best baseline.https://doi.org/10.1049/sfw2.12017feature extractionrecurrent neural netssemantic networkssoftware engineeringsource code (software)convolutional neural nets
spellingShingle Yasir Hussain
Zhiqiu Huang
Yu Zhou
Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
IET Software
feature extraction
recurrent neural nets
semantic networks
software engineering
source code (software)
convolutional neural nets
title Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
title_full Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
title_fullStr Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
title_full_unstemmed Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
title_short Improving source code suggestion with code embedding and enhanced convolutional long short‐term memory
title_sort improving source code suggestion with code embedding and enhanced convolutional long short term memory
topic feature extraction
recurrent neural nets
semantic networks
software engineering
source code (software)
convolutional neural nets
url https://doi.org/10.1049/sfw2.12017
work_keys_str_mv AT yasirhussain improvingsourcecodesuggestionwithcodeembeddingandenhancedconvolutionallongshorttermmemory
AT zhiqiuhuang improvingsourcecodesuggestionwithcodeembeddingandenhancedconvolutionallongshorttermmemory
AT yuzhou improvingsourcecodesuggestionwithcodeembeddingandenhancedconvolutionallongshorttermmemory