SEAICLOct 12, 2020

Evaluation of Siamese Networks for Semantic Code Search

arXiv:2011.01043v1
AI Analysis

This addresses the problem of improving code search accuracy for developers, but it is incremental as it applies an existing method (Siamese networks) to a new domain.

The paper tackled the problem of low accuracy in semantic code search due to vocabulary and semantic mismatches by evaluating Siamese networks, achieving impressive performance that beats previous baselines on 2 programming languages.

With the increase in the number of open repositories and discussion forums, the use of natural language for semantic code search has become increasingly common. The accuracy of the results returned by such systems, however, can be low due to 1) limited shared vocabulary between code and user query and 2) inadequate semantic understanding of user query and its relation to code syntax. Siamese networks are well suited to learning such joint relations between data, but have not been explored in the context of code search. In this work, we evaluate Siamese networks for this task by exploring multiple extraction network architectures. These networks independently process code and text descriptions before passing them to a Siamese network to learn embeddings in a common space. We experiment on two different datasets and discover that Siamese networks can act as strong regularizers on networks that extract rich information from code and text, which in turn helps achieve impressive performance on code search beating previous baselines on $2$ programming languages. We also analyze the embedding space of these networks and provide directions to fully leverage the power of Siamese networks for semantic code search.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes