首页> 外文会议>IEEE/ACM International Conference on Program Comprehension >Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge
【24h】

Recommending Comprehensive Solutions for Programming Tasks by Mining Crowd Knowledge

机译:通过采矿人群知识推荐用于编程任务的全面解决方案

获取原文

摘要

Developers often search for relevant code examples on the web for their programming tasks. Unfortunately, they face two major problems. First, the search is impaired due to a lexical gap between their query (task description) and the information associated with the solution. Second, the retrieved solution may not be comprehensive, i.e., the code segment might miss a succinct explanation. These problems make the developers browse dozens of documents in order to synthesize an appropriate solution. To address these two problems, we propose CROKAGE (Crowd Knowledge Answer Generator), a tool that takes the description of a programming task (the query) and provides a comprehensive solution for the task. Our solutions contain not only relevant code examples but also their succinct explanations. Our proposed approach expands the task description with relevant API classes from Stack Overflow Q&A threads and then mitigates the lexical gap problems. Furthermore, we perform natural language processing on the top quality answers and then return such programming solutions containing code examples and code explanations unlike earlier studies. We evaluate our approach using 97 programming queries, of which 50% was used for training and 50% was used for testing, and show that it outperforms six baselines including the state-of-art by a statistically significant margin. Furthermore, our evaluation with 29 developers using 24 tasks (queries) confirms the superiority of CROKAGE over the state-of-art tool in terms of relevance of the suggested code examples, benefit of the code explanations and the overall solution quality (code + explanation).
机译:开发人员通常在网上搜索Web的相关代码示例,以获取其编程任务。不幸的是,他们面临两个主要问题。首先,由于其查询(任务描述)与与解决方案相关联的信息之间的词汇差距,搜索受到损害。其次,检索到的解决方案可能不是全面的,即代码段可能会错过简洁的解释。这些问题使开发人员浏览几十个文件,以便综合适当的解决方案。为了解决这两个问题,我们提出了克雷冈(人群知识答案生成器),这是一种采用编程任务描述(查询)的工具,并为任务提供全面的解决方案。我们的解决方案不仅包含相关的代码示例,还包含它们的简洁解释。我们所提出的方法扩展了与堆栈溢出Q&一个线程的相关API类的任务描述,然后减轻词汇间隙问题。此外,我们对最高质量答案进行自然语言处理,然后返回包含代码示例和与早期研究不同的代码解释的这些编程解决方案。我们使用97编程查询评估我们的方法,其中50%用于培训,50%用于测试,并表明它优于六个基线,包括统计上有明显的边缘的六个基线。此外,我们的评估与29个开发人员使用24任务(查询)在建议代码示例的相关性,代码说明的相关性和整体解决方案质量的相关性方面,确认了灾难中灾难的优越性(代码+解释)。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号