【24h】

Complete Completion using Types and Weights

机译:使用类型和权重完成完成完成

获取原文

摘要

Developing modern software typically involves composing functionality from existing libraries. This task is difficult because libraries may expose many methods to the developer. To help developers in such scenarios, we present a technique that synthesizes and suggests valid expressions of a given type at a given program point. As the basis of our technique we use type inhabitation for lambda calculus terms in long normal form. We introduce a succinct representation for type judgements that merges types into equivalence classes to reduce the search space, then reconstructs any desired number of solutions on demand. Furthermore, we introduce a method to rank solutions based on weights derived from a corpus of code. We implemented the algorithm and deployed it as a plugin for the Eclipse IDE for Scala. We show that the techniques we incorporated greatly increase the effectiveness of the approach. Our evaluation benchmarks are code examples from programming practice; we make them available for future comparisons.
机译:开发现代软件通常涉及从现有库编写功能。这项任务很难,因为库可能会向开发人员公开许多方法。为了帮助开发人员在这种情况下,我们介绍了一种合成的技术,并在给定的程序点处建议给定类型的有效表达式。作为我们技术的基础,我们在长期正常形式中使用类型林兰省微积分族。我们向文章判断引入了简洁的表示,这些判断将类型合并到等效类中以减少搜索空间,然后按需重建任何所需的任何所需的解决方案。此外,我们介绍一种基于从代码语料库衍生的权重进行排序解决方案的方法。我们实现了算法,并将其部署为Scala的Eclipse IDE的插件。我们表明,我们始致的技术大大提高了方法的有效性。我们的评估基准是编程实践的代码示例;我们使它们可用于将来的比较。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号