首页> 外文学位 >CodeReco - A Semantic Java Method Recommender
【24h】

CodeReco - A Semantic Java Method Recommender

机译:CodeReco-语义Java方法推荐器

获取原文
获取原文并翻译 | 示例

摘要

The increasing volume and complexity of software systems and the growing demand of programming skills calls for efficient information retrieval techniques from source code documents. Programming related information seeking is often challenging for users facing constraints in knowledge and experience. Source code documents contain multi-faceted semi-structured text, having different levels of semantic information like syntax, blueprints, interfaces, flow graphs, dependencies and design patterns. Matching user queries optimally across these levels is a major challenge for information retrieval systems. Code recommendations can help information seeking and retrieval by pro-actively sampling similar examples based on the users context. These recommendations can be beneficial in improving learning via examples or improving code quality by sampling best practices or alternative implementations.;In this thesis, an attempt is made to help programming related information seeking processes via pro-active code recommendations, and information retrieval processes by extracting structural-semantic information from source code. I present CodeReco, a system that recommends semantically similar Java method samples. Conventional code recommendations found in integrated development environments are primarily driven by syntactical compliance and auto-completion, whereas CodeReco is driven by similarities in use of language and structure-semantics. Methods are transformed to a vector space model and a novel metric of similarity is designed. Features in this vector space are categorized as belonging to types signature, structure, concept and language for user personalization.;Offline tests show that CodeReco recommendations cover broader programming concepts and have higher conceptual similarity with their samples. A user study was conducted where users rated Java method recommendations that helped them icomplete two programming problems. 61.5% users were positive that real time method recommendations are helpful, and 50% reported this would reduce time spent in web searches. The empirical utility of CodeReco's similarity metric on those problems was compared with a purely language based similarity metric (baseline). Baseline received higher ratings from novices, arguably due to lack of structure-semantics in their samples while seeking recommendations.
机译:软件系统的数量和复杂性的增加以及对编程技能的需求的不断增长,要求从源代码文档中获取有效的信息检索技术。对于面临知识和经验约束的用户,与编程相关的信息搜索通常是挑战。源代码文档包含多方面的半结构化文本,具有不同级别的语义信息,例如语法,蓝图,接口,流程图,依赖关系和设计模式。在这些级别上最佳地匹配用户查询是信息检索系统的主要挑战。通过根据用户上下文主动采样相似的示例,代码建议可以帮助信息搜索和检索。这些建议对于通过示例改进学习或通过采样最佳实践或替代实现来提高代码质量是有益的。;本文试图通过主动的代码建议来帮助编程与信息搜索过程相关的信息,并通过从源代码中提取结构语义信息。我介绍了CodeReco,这是一个建议在语义上相似的Java方法示例的系统。在集成开发环境中找到的常规代码建议主要由语法合规性和自动完成功能驱动,而CodeReco由语言和结构语义使用方面的相似性驱动。将方法转换为向量空间模型,并设计一种新颖的相似性度量。向量空间中的功能归为用户个性化类型,包括签名,结构,概念和语言。脱机测试表明,CodeReco建议涵盖了更广泛的编程概念,并且与示例具有更高的概念相似性。进行了一项用户研究,其中用户对Java方法的建议进行了评分,这些建议帮助他们完成了两个编程问题。 61.5%的用户对实时方法推荐的帮助表示肯定,并且50%的用户报告这将减少网络搜索所花费的时间。将CodeReco相似性度量标准在这些问题上的经验效用与纯基于语言的相似性度量标准(基准)进行了比较。基线从新手那里获得了较高的评价,这可能是由于他们在寻求建议时样本中缺乏结构语义学。

著录项

  • 作者

    Singh, Shashank.;

  • 作者单位

    Arizona State University.;

  • 授予单位 Arizona State University.;
  • 学科 Computer science.;Information science.
  • 学位 M.S.
  • 年度 2017
  • 页码 59 p.
  • 总页数 59
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号