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

融合结构与语义特征的代码注释决策支持方法

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

摘要:代码注释是辅助编程人员理解源代码的有效手段之一.高质量的注释决策不仅能够覆盖软件系统中的核心代码片段,还能避免产生多余的代码注释.然而在实际开发中,编程人员往往缺乏统一的注释规范,大部分的注释决策都取决于个人经验以及领域知识.对于新手程序员来说,注释决策显然成为一项重要而艰巨的任务.为了减少编程人员投入过多的精力在注释决策上,从大量的代码注释实例中学习出一种通用的注释决策规范,并提出了CommentAdviser方法,以辅助编程人员在代码开发过程中做出恰当的注释决策.由于注释决策与代码本身的上下文信息密切相关,因此,从当前代码行的上下文代码中提取代码结构特征以及代码语义特征作为支持注释决策的主要依据.然后,利用机器学习算法判定当前代码行是否为可能的注释点.在GitHub中的10个大型开源软件的数据集上评估了所提出的方法,实验结果以及用户调研表明,代码注释决策支持CommentAdviser方法的可行性和有效性.



Abstract:Code comment is quite important to help developer review and comprehend source code. Strategic comment decision is desired to cover core code snippets of software system without incurring unintended trivial comments. However, in current practice, there is a lack of rigorous specifications for developers to make their comment decisions. Commenting has become an important yet tough decision which mostly depends on the personal experience of developers. To reduce the effort on making comment decisions, this paper investigates a unified commenting regulation from a large number of commenting instances. A method, CommentAdviser, is proposed to guide developers in placing comments in source code. Since making comment is closely related to the context information of source code themselves, the method identifies this important factor for determining where to comment and extract them as structural context feature and semantic context feature. Next, machine learning techniques are applied to identify the possible commenting locations in source code. CommentAdviser is evaluated on 10 data sets from GitHub. The experimental results, as well as a user study, demonstrate the feasibility and effectiveness of CommentAdviser.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/5528
相关话题/代码 经验 结构 知识 实验

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 代码文件贡献组成模式的分析
    摘要:软件开发过程中,同一代码文件经常由多名开发者共同开发和维护,各个开发者向文件贡献了不同的代码量,使之形成特有的贡献组成.代码文件的贡献组成是否合理,直接影响开发者的任务分配,进而影响软件质量和开发效率.对于不同类型的代码文件,如何刻画并确定其合理的贡献组成模式,成为一个亟待解决的问题.协同开发 ...
    本站小编 Free考研考试 2022-01-02
  • 自动分析递归数据结构的归纳性质
    摘要:提出了一种对递归数据结构的归纳性质进行自动化分析的框架.工作分为3个主要部分.首先,它将递归数据结构的归纳性质分为两个主要类别,并提出对应的处理模式,从而帮助简化对于程序中的递归数据结构上的相关性质的分析.其次,提出了一种称为分割与拼接的技术来发现和描述递归数据结构是如何被程序修改的:递归数据 ...
    本站小编 Free考研考试 2022-01-02
  • 大规模源代码增量式资源泄漏检测方法
    摘要:资源泄漏是影响软件质量和可靠性的一种重要软件缺陷,存在资源泄漏的程序长时间运行会由于资源耗尽而发生异常甚至崩溃.静态代码分析是进行资源泄漏检测的一种有效的技术手段,能够基于源代码或者二进制代码有效地发现程序中潜在的资源泄漏问题.然而,精确的资源泄漏检测算法的复杂性会随着程序规模的增加呈指数级增 ...
    本站小编 Free考研考试 2022-01-02
  • 对软件工程中经验研究的调查
    摘要:为了描述、理解、评估、预测、控制、管理或者改善与软件相关的内容,研究者常常使用经验研究的方法.经验研究在软件工程领域已经得到广泛的应用并备受关注.为了了解近年来软件工程中经验研究的特点,并希望经验研究方法为更多研究者所了解,通过系统映射的方法,对软件工程中经验研究的典型期刊《Empirical ...
    本站小编 Free考研考试 2022-01-02
  • 基于图结构的大数据分析与管理技术专刊前言
    摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/5458 ...
    本站小编 Free考研考试 2022-01-02
  • 基于MapReduce的图结构聚类算法
    摘要:图结构聚类(SCAN)是一种著名的基于密度的图聚类算法,该算法不仅能够找到图中的聚类结构,而且还能发现图中的Hub节点和离群节点.然而,随着图数据规模越来越大,传统的SCAN算法的复杂度为O(m1.5)(m为图中边的条数),因此很难处理大规模的图数据.为了解决SCAN算法的可扩展性问题,提出一 ...
    本站小编 Free考研考试 2022-01-02
  • 多维图结构聚类的社交关系挖掘算法
    摘要:社交关系的数据挖掘一直是大图数据研究领域中的热门问题.图聚类算法如SCAN(structuralclusteringalgorithmfornetwork)虽然可以迅速地从海量图数据中获得关系紧密的社区结构,但这类社区往往只表示了社交对象的聚集,无法反馈对象间的真实社交关系,如家庭成员、同事、 ...
    本站小编 Free考研考试 2022-01-02
  • 经验研究中情景感知需求获取与建模系统文献综述
    摘要:情景感知(contextaware)的应用是当前的一个研究热点,但是,由于情景的复杂性和不确定性,如何获取这些应用的需求面临着巨大挑战,需求工程领域出现了大量的研究来解决这一挑战.使用系统文献综述(systematicliteraturereview)的方法首先分析了不同情景维度对需求获取与建 ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于近似因子的在线概率知识库推理方法
    摘要:概率知识库中的推理技术是近年来的研究热点.目前,大多数系统的推理主要基于批处理的方式实现,并不适用于在线查询场景.对此,提出了一种基于近似因子的在线概率知识库推理方法.它可以重复利用已推断结果计算查询变量的边缘概率.该算法首先提取查询变量的子图(含已推断变量);然后,在此子图上添加近似因子,以 ...
    本站小编 Free考研考试 2022-01-02
  • 基于毫米波雷达观测及探空反演的云垂直结构对比分析
    摘要摘要:针对北京南郊观象台的Ka波段毫米波雷达以及L波段探空设备的观测原理和特点,提出了适用于各设备的云垂直结构判定方法,并基于二者2016年12月13日至2017年3月13日长达91d的时空同步观测数据,结合激光云高仪、葵花8卫星、全天空成像仪等多源辅助数据,对探空与毫米波雷达观测结果(包括云底 ...
    本站小编 Free考研考试 2022-01-02