CoNCRA: A Convolutional Neural Networks Code Retrieval Approach

Marcelo De Rezende Martins, Marco Aurelio Gerosa

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations

Abstract

Software developers routinely search for code using general-purpose search engines. However, these search engines cannot find code semantically unless it has an accompanying description. We propose a technique for semantic code search: A Convolutional Neural Network approach to code retrieval (CoNCRA). Our technique aims to find the code snippet that most closely matches the developer's intent, expressed in natural language. We evaluated our approach's efficacy on a dataset composed of questions and code snippets collected from Stack Overflow. Our preliminary results showed that our technique, which prioritizes local interactions (words nearby), improved the state-of-The-Art (SOTA) by 5% on average, retrieving the most relevant code snippets in the top 3 (three) positions by almost 80% of the time. Therefore, our technique is promising and can improve the efficacy of semantic code retrieval.

Original languageEnglish (US)
Title of host publicationProceedings - 34th Brazilian Symposium on Software Engineering, SBES 2020
PublisherAssociation for Computing Machinery
Pages526-531
Number of pages6
ISBN (Electronic)9781450387538
DOIs
StatePublished - Oct 21 2020
Event34th Brazilian Symposium on Software Engineering, SBES 2020 - Virtual, Online, Brazil
Duration: Oct 21 2020Oct 23 2020

Publication series

NameACM International Conference Proceeding Series

Conference

Conference34th Brazilian Symposium on Software Engineering, SBES 2020
Country/TerritoryBrazil
CityVirtual, Online
Period10/21/2010/23/20

Keywords

  • code search
  • joint embedding
  • neural networks

ASJC Scopus subject areas

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'CoNCRA: A Convolutional Neural Networks Code Retrieval Approach'. Together they form a unique fingerprint.

Cite this