SLAMPA: Recommending Code Snippets with Statistical Language Model

Programming is typically a difficult and repetitive task. Programmers will encounter endless problems during programming, and they often need to write similar code over and over again. Over the years, many tools have been proposed to support programming. However, to the best of our knowledge, these...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2018 25th Asia-Pacific Software Engineering Conference (APSEC) s. 79 - 88
Hlavní autoři: Zhou, Shufan, Zhong, Hao, Shen, Beijun
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 01.12.2018
Témata:
ISSN:2640-0715
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Programming is typically a difficult and repetitive task. Programmers will encounter endless problems during programming, and they often need to write similar code over and over again. Over the years, many tools have been proposed to support programming. However, to the best of our knowledge, these approaches require high-quality queries or programming contexts, which are often difficult to be built or even unavailable. To address this challenge, we propose SLAMPA, a novel tool which takes advantage of statistical language model and clone detection techniques to recommend code snippets during programming. Given a piece of incomplete code, SLAMPA first infers its intention using a neural language model. Then it retrieves code snippets from codebase with the support of an efficient clone detection technology Hybrid-CD we proposed. Finally, it recommends the most similar code snippets to programmers. Our evaluation results demonstrate that Hybrid-CD precisely detects similar code snippets and it outperforms previous techniques. Our results also show that the snippets recommended by SLAMPA catch the intention of programmers and SLAMPA is capable of finding potential code reuse opportunities during programming.
ISSN:2640-0715
DOI:10.1109/APSEC.2018.00022