{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/learning-to-mine-aligned-code-and-natural","title":"Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow","arxiv_id":"1805.08949","date":"2018-05-23","proceeding":null,"authors":["Pengcheng Yin","Bowen Deng","Edgar Chen","Bogdan Vasilescu","Graham Neubig"],"abstract":"For tasks like code synthesis from natural language, code retrieval, and code\nsummarization, data-driven models have shown great promise. However, creating\nthese models require parallel data between natural language (NL) and code with\nfine-grained alignments. Stack Overflow (SO) is a promising source to create\nsuch a data set: the questions are diverse and most of them have corresponding\nanswers with high-quality code snippets. However, existing heuristic methods\n(e.g., pairing the title of a post with the code in the accepted answer) are\nlimited both in their coverage and the correctness of the NL-code pairs\nobtained. In this paper, we propose a novel method to mine high-quality aligned\ndata from SO using two sets of features: hand-crafted features considering the\nstructure of the extracted snippets, and correspondence features obtained by\ntraining a probabilistic model to capture the correlation between NL and code\nusing neural networks. These features are fed into a classifier that determines\nthe quality of mined NL-code pairs. Experiments using Python and Java as test\nbeds show that the proposed method greatly expands coverage and accuracy over\nexisting mining methods, even when using only a small number of labeled\nexamples. Further, we find that reasonable results are achieved even when\ntraining the classifier on one language and testing on another, showing promise\nfor scaling NL-code mining to a wide variety of programming languages beyond\nthose for which we are able to annotate data.","url_abs":"http://arxiv.org/abs/1805.08949v1","url_pdf":"http://arxiv.org/pdf/1805.08949v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[],"tasks":[{"task_slug":"code-summarization-1","task_name":"Code Summarization"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"code-summarization","task_name":"Source Code Summarization"}],"methods":[],"datasets_introduced":[{"slug":"conala","name":"CoNaLa","full_name":"CMU CoNaLa, the Code/Natural Language Challenge"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.08949","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}