CoNCRA: A Convolutional Neural Networks Code Retrieval Approach

  • Marcelo de Rezende Martins IPT
  • Marco Aurélio Gerosa Northern Arizona University 

Resumo


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.
Palavras-chave: joint embedding, code search, neural networks
Publicado
21/10/2020
Como Citar

Selecione um Formato
MARTINS, Marcelo de Rezende; GEROSA, Marco Aurélio. CoNCRA: A Convolutional Neural Networks Code Retrieval Approach. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 34. , 2020, Natal. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 .