删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

编程现场上下文深度感知的代码行推荐

本站小编 Free考研考试/2022-01-02

摘要:在软件开发的编程现场,有大量与当前开发任务相关的信息,比如代码上下文信息、用户开发意图等.如果能够根据已有的编程现场上下文给开发人员推荐当前代码行,不仅能够帮助开发人员更好地完成开发任务,还能提高软件开发的效率.而已有的一些方法通常是进行代码修复或者补全,又或者只是基于关键词匹配的搜索方法,很难达到推荐完整代码行的要求.针对上述问题,一种可行的解决方案是基于已有的海量源码数据,利用深度学习析取代码行的相关上下文因子,挖掘隐含的上下文信息,为精准推荐提供基础.因此,提出了一种基于深度学习的编程现场上下文深度感知的代码行推荐方法,能够在已有的大规模代码数据集中学习上下文之间潜在的关联关系,利用编程现场已有的源码数据和任务数据得到当前可能的代码行,并推荐Top-N给编程人员.代码行深度感知使用RNN Encoder-Decoder,该框架能够将编程现场已有的若干行上文代码行进行编码,得到一个包含已有代码行上下文信息的向量,然后根据该向量进行解码,得到预测的Top-N代码行输出.利用在开源平台上收集的大规模代码行数据集,对方法进行实验并测试,结果显示,该方法能够根据已有的上下文推荐相关的代码行给开发人员,Top-10的推荐准确率有60%左右,并且MRR值在0.3左右,表示用户满意的推荐项排在N个推荐结果中比较靠前的位置.



Abstract:In the Onsite Programming of software development, there are a lot of information related to the current development task, such as code line context information, user development intention, etc. If the next code line or lines can be recommended to program developers according to the existing code lines, then it will not only help the developer to complete the development task better, but also improve the efficiency of software development. However, most existing approaches only focus on code repair or completion, which seldom considers how to meet the demand of recommending code lines based on contextual information. To solve this problem, a feasible solution is using deep learning methods to extract the relevant context factors of code lines through mining hidden context information based on the existing massive source data. Therefore, this study proposes a novel approach based on deep learning for onsite programming. In this approach, the contextual relationships among various code lines are learned from existing large-scale code data sets and then Top-N code lines are recommended to programmers. The approach utilizes the RNN encoder-decoder framework, which can encode several lines of code to a vector with context-aware information, and then obtain the Top-N new code lines based on the context vector. Finally, the approach is empirically evaluated with a large-scale code line data set collected from the open source platform. The study results show that the proposed approach can recommend the relevant code lines to developers according to the existing context, and the accuracy value is approaching to 60%. In addition, the MRR value is about 0.3, indicating that the recommended items are ranked in the top of the N recommended results.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/6059
相关话题/代码 推荐 信息 数据 软件

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 响应时间约束的代码评审人推荐
    摘要:同行代码评审,即对提交代码进行人工评审,是减少软件缺陷和提高软件质量的有效手段,已被Github等开源社区以及很多软件开发组织广泛采用.在GitHub社区,代码评审是其pull-based软件开发模型的重要组成部分.开源项目往往存在成百上千个候选评审人员,为评审工作推荐合适的评审人员是一项很有 ...
    本站小编 Free考研考试 2022-01-02
  • 面向数据特征的人机物融合服务分派方法
    摘要:随着工业互联网的不断发展,大数据和人工智能促成了人机物全面互联.用户使用服务时产生的任务数据量正呈指数级增长,在为线上用户推荐服务满足个性化需求的同时,对于需要通过人机物交互完成的服务,如何整合线上和线下资源,并分派合适的人快速、有效地完成任务,也已成为一个挑战性问题.为了保证服务分派的准确性 ...
    本站小编 Free考研考试 2022-01-02
  • 噪音数据的属性选择算法
    摘要:正则化属性选择算法减小噪音数据影响的效果不佳,而且样本空间的局部结构几乎没有被考虑,在将样本映射到属性子空间后,样本之间的联系与原空间不一致,导致数据挖掘算法的效果不能令人满意.提出一个抗噪音属性选择方法,可以有效地解决传统算法的这两个缺陷.该方法首先采用自步学习的训练方式,这不仅能大幅度降低 ...
    本站小编 Free考研考试 2022-01-02
  • 基于阈值动态调整的重复数据删除方案
    摘要:云存储已经成为一种主流应用模式.随着用户及存储数据量的增加,云存储提供商采用重复数据删除技术来节省存储空间和资源.现有方案普遍采用统一的流行度阈值对所有数据进行删重处理,没有考虑到不同的数据信息具有不同的隐私程度这一实际问题.提出了一种基于阈值动态调整的重复数据删除方案,确保了上传数据及相关操 ...
    本站小编 Free考研考试 2022-01-02
  • 面向频繁项集挖掘的本地差分隐私事务数据收集方法
    摘要:事务数据常见于各种应用场景中,如购物记录、页面浏览历史等.为了提供更好的服务,服务提供商收集用户数据并进行分析,但收集事务数据会泄露用户的隐私信息.为了解决上述问题,基于压缩的本地差分隐私模型,提出一种事务数据收集方法.首先,定义了一种新的候选项集分值函数;其次,基于该函数,将候选项集的样本空 ...
    本站小编 Free考研考试 2022-01-02
  • 面向大数据流的分布式索引构建
    摘要:大数据流的高效存储与索引是当今数据领域的一大难点.面向带有时间属性的数据流,根据其时间属性,将数据流划分为连续的时间窗口,提出了基于双层B+树的分布式索引结构WB-Index.下层B+树索引基于窗口内流数据构建,索引构建过程结合基于排序的批量构建技术,进一步对时间窗口分片,将数据流接收、分片数 ...
    本站小编 Free考研考试 2022-01-02
  • 基于着色Petri网的HDFS数据一致性建模与分析
    摘要:HDFS分布式文件系统作为ApacheHadoop的核心组件之一,在工业界得到了广泛应用.HDFS采用了多副本机制保证数据的可靠性,但是由于多副本的存在,在节点失效、网络中断、写入失败时可能会导致数据不一致.与传统文件系统相比,HDFS被认为其数据一致性有所降低,但用户并不知道何时会出现不一致 ...
    本站小编 Free考研考试 2022-01-02
  • 航天嵌入式软件整数溢出的形式化验证方法
    摘要:整数溢出引起的软件系统安全性问题屡见不鲜,已有的模型检测技术由于存在状态空间爆炸、不能有效支持中断驱动型程序检测等缺点而少有工程应用.结合真实案例,对航天嵌入式软件整数溢出问题的分布和特征进行了系统性的分析.在有界模型检测技术的基础上,结合整数溢出特征,提出了基于整数溢出变量依赖的程序模型约简 ...
    本站小编 Free考研考试 2022-01-02
  • 基于Wi-Fi信道状态信息的行走识别与行走参数估计
    摘要:行走是日常生活中最常见的行为之一,它的特征可以反映人的身份、健康等重要信息.例如,行走的速度、方向、步数、步长等细粒度的参数可以为室内追踪、步态分析、老人看护等情境感知应用提供关键信息.因此,在近几年中,利用环境中已有的Wi-Fi信号对行走进行感知受到了研究人员的广泛关注.为了利用Wi-Fi信 ...
    本站小编 Free考研考试 2022-01-02
  • 构建新型高性能与高可用的键值数据库系统
    摘要:近年来,写密集型应用程序越来越普遍.如何有效地处理这种工作负载,是数据库系统领域深入研究的方向之一.写操作开销主要由以下两个方面的因素构成:(1)硬件级别,即写操作引起的I/O,目前无法在短时间内消除这种开销;(2)软件开销,即修改内存数据拷贝以及构造日志记录造成的多次写操作.日志即数据(lo ...
    本站小编 Free考研考试 2022-01-02