DeepClone: Modeling Clones to Generate Code Predictions

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

Abstract

Programmers often reuse code from source code repositories to reduce the development effort. Code clones are candidates for reuse in exploratory or rapid development, as they represent often repeated functionality in software systems. To facilitate code clone reuse, we propose DeepClone, a novel approach utilizing a deep learning algorithm for modeling code clones to predict the next set of tokens (possibly a complete clone method body) based on the code written so far. The predicted tokens require minimal customization to fit the context. DeepClone applies natural language processing techniques to learn from a large code corpus, and generates code tokens using the model learned. We have quantitatively evaluated our solution to assess (1) our model’s quality and its accuracy in token prediction, and (2) its performance and effectiveness in clone method prediction. We also discuss various application scenarios for our approach.

Original languageEnglish
Title of host publicationReuse in Emerging Software Engineering Practices - 19th International Conference on Software and Systems Reuse, ICSR 2020, Proceedings
EditorsSihem Ben Sassi, Stéphane Ducasse, Hafedh Mili
PublisherSpringer
Pages135-151
Number of pages17
Volume12541
ISBN (Print)9783030646936
DOIs
Publication statusPublished - 1 Dec 2020

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume12541 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Keywords

  • Code clone
  • Code prediction
  • Deep learning
  • Language modeling

Fingerprint Dive into the research topics of 'DeepClone: Modeling Clones to Generate Code Predictions'. Together they form a unique fingerprint.

Cite this