主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2018年第12期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
黄袁,贾楠,周强,陈湘萍,熊英飞,罗笑南.融合结构与语义特征的代码注释决策支持方法.软件学报,2018,29(8):2226-2242
融合结构与语义特征的代码注释决策支持方法
Method Combining Structural and Semantic Features to Support Code Commenting Decision
投稿时间:2017-07-18  修订日期:2017-09-28
DOI:10.13328/j.cnki.jos.005528
中文关键词:  代码注释  结构特征  语义特征  机器学习  注释决策
英文关键词:code comment  structural feature  semantic feature  machine learning  comment decision
基金项目:国家重点研发计划(2016YFB1000101);国家自然科学基金(61672545,61402546);广东省科技计划项目(2013B0907 00009);中山市科技计划项目(2016A1044)
作者单位E-mail
黄袁 中山大学 数据科学与计算机学院, 广东 广州 510006
国家数字家庭工程技术研究中心, 广东 广州 510006 
 
贾楠 中山大学 数据科学与计算机学院, 广东 广州 510006
河北地质大学 管理科学与工程学院, 河北 石家庄 050031 
 
周强 中山大学 数据科学与计算机学院, 广东 广州 510006
国家数字家庭工程技术研究中心, 广东 广州 510006 
 
陈湘萍 国家数字家庭工程技术研究中心, 广东 广州 510006
中山大学 先进技术研究院, 广东 广州 510006 
chenxp8@mail.sysu.edu.cn 
熊英飞 北京大学 信息科学技术学院 软件研究所, 北京 100871
高可信软件技术教育部重点实验室(北京大学), 北京 100871 
 
罗笑南 中山大学 数据科学与计算机学院, 广东 广州 510006
国家数字家庭工程技术研究中心, 广东 广州 510006 
 
摘要点击次数: 634
全文下载次数: 534
中文摘要:
      代码注释是辅助编程人员理解源代码的有效手段之一.高质量的注释决策不仅能够覆盖软件系统中的核心代码片段,还能避免产生多余的代码注释.然而在实际开发中,编程人员往往缺乏统一的注释规范,大部分的注释决策都取决于个人经验以及领域知识.对于新手程序员来说,注释决策显然成为一项重要而艰巨的任务.为了减少编程人员投入过多的精力在注释决策上,从大量的代码注释实例中学习出一种通用的注释决策规范,并提出了CommentAdviser方法,以辅助编程人员在代码开发过程中做出恰当的注释决策.由于注释决策与代码本身的上下文信息密切相关,因此,从当前代码行的上下文代码中提取代码结构特征以及代码语义特征作为支持注释决策的主要依据.然后,利用机器学习算法判定当前代码行是否为可能的注释点.在GitHub中的10个大型开源软件的数据集上评估了所提出的方法,实验结果以及用户调研表明,代码注释决策支持CommentAdviser方法的可行性和有效性.
英文摘要:
      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.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利