【摘 要】
:
程序理解在软件开发和维护过程中占据重要地位,贯穿软件开发生命周期的始终。程序可读性分析和概要化技术是程序理解的重要组成部分,可以帮助软件开发人员快速准确的理解大型
论文部分内容阅读
程序理解在软件开发和维护过程中占据重要地位,贯穿软件开发生命周期的始终。程序可读性分析和概要化技术是程序理解的重要组成部分,可以帮助软件开发人员快速准确的理解大型代码库中程序的具体含义。如果程序可读性较好,开发人员能够较容易地对程序进行理解;而如果程序可读性不好,特别是没有注释时,开发人员对程序理解的效率就较低。而如果能通过自动地分析程序的可读性,并对一些程序生成概要,能够有效帮助开发人员理解程序,加快软件开发和维护的效率。对于程序可读性的分析,本论文给出了两种方法。首先,基于WordNet对程序中的标识符进行分析,进行程序可读性分析,主要针对方法体的注释和代码进行短文本语义分析,通过提取注释和代码中的标识符和关键字,然后基于WordNet进行同义词匹配,从而达到程序可读性的分析。其次,对给定的程序,通过对注释分析,并利用相似性度量提取能够充分解释代码的词语--特征词,进而对程序可读性程度进行评定。最后,本文提出一种基于程序语法分析的概要化技术,主要针对程序中的包进行概要化分析,该技术可以根据标签类别进行概要化,同时,可以分析java程序包之间的关系进行概要化。基于概要化结果,开发维护人员可以快速理解程序代码中的包程序,形成对程序的整体理解。
其他文献
随着科学技术的进步和人民生活水平的日益提高,人均寿命日益延长,老年人的医疗保健问题成了社会广泛关注的焦点。家庭医疗保健系统在这种社会大环境下应运而生,它结合了信息
为了满足用户不断增加的需求,软件产品需进行不断的维护与演化。而在软件维护与演化的过程中,开发人员面临的主要问题之一就是如何能够快速而又准确的理解整个软件系统。随着
模式识别是指对表征事物或现象的各种形式的信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。人脸识别属于模式识别
从获取的二维图像出发,进行物体的三维重建是计算机视觉领域的一个重要课题,在虚拟现实、三维测量、机器人自动导航、工业检测等方面具有广泛的应用前景。重建过程涉及图像预
在当今的基因组时代,我们面临的主要挑战之一则是基因之间功能关系的挖掘,高通量的微阵列技术的出现填补了这一缺陷。DNA微阵列提供了大量的基因表达数据,这为基因功能和基因
近年来无线传感器网络技术不断成熟,各种新型应用在不同领域中得到越来越广泛地得到使用。传统的依靠电池供电的无线传感器网络因为后期维护的难度巨大极大地限制了网络的性
多Agent协作问题是RoboCup2D中研究的热点问题。RoboCup仿真2D中,协作问题解决的好坏直接关乎比赛效果。针对仿真2D中的实际问题,本文首先介绍了多Agent协作研究背景及研究现
离散事件系统(Discrete Event System, DES)是由离散事件驱动,并由离散事件按照一定的运行规则相互作用,导致状态演化的一类动态系统。DES的本质是一类人造系统,如:柔性制造系
随着无线电技术的进步,无线电应用已经普及社会各部门各领域,各行业对无线电频谱资源的需求日益剧增。无线电频谱资源作为一种稀缺的、不可再生亦不可耗竭的公共资源,如可有
在传统业务系统中,企业组织的业务规则通过硬编码实现并嵌入在业务系统的各个角落,导致业务系统的调整不能及时响应市场环境的变化。业务规则管理系统把业务规则交给终端业务