一种基于主题建模的代码功能挖掘工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:ohmysweet
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码复用是一种重要的软件复用方式。复用者需要理解软件代码实现的功能。近些年,如何辅助复用者理解代码功能成为了软件复用的研究热点之一。基于主题建模技术的程序理解方法逐渐受到研究人员的重视。与传统分析方法相比,该方法具有抽象层次高、面向语义等特点,更贴近于复用者理解代码功能的方式。其中,潜在狄利克雷分配(Latent Dirichlet Allocation,简称LDA)技术是目前一种较为流行的主题建模技术。  为了辅助复用者理解代码功能,本文提出了一种基于代码静态分析和LDA技术的代码功能挖掘(Code Function Mining,简称CFM)方法。CFM方法是一套以代码为研究对象的挖掘、筛选、组织和描述主题(Topic)的方法,该方法能够生成带描述的功能型Topic的层次结构。功能型Topic的描述能够帮助复用者理解代码功能,其层次结构能够让复用者从不同抽象层次理解代码功能。目前,基于主题建模技术的程序理解方法一般欠缺对挖掘出的Topic的语义分析,CFM方法可作为对这类方法的补充。  CFM方法包括四个部分:  1)挖掘Topic:首先进行代码预处理,对代码采取选词、切词、过滤、词根化等操作,生成一个单词集;然后,利用经典LDA算法从单词集中挖掘Topic。  2)筛选Topic:利用代码静态分析技术分析Topic关联的代码之间关系的紧密程度,区分功能型Topic和其它类型的Topic。  3)组织Topic:依据Topic的代码关联概率分布,分析不同抽象层次的Topic之间的相似度,使低抽象层次Topic作为与它相似度最高的高抽象层次Topic的子Topic,从而形成功能型Topic的层次结构。  4)描述Topic:本文提出了一种功能型Topic的描述模型:一个功能型Topic的描述由文字性描述、核心类或接口、方法示例三部分组成。CFM方法自动地从代码中提取信息描述Topic。  以CFM方法为基础,本文设计并实现了一个CFM工具。CFM工具能够分析用户提交的代码,通过Web页面向用户展示带描述的功能型Topic的层次结构。最后,本文对CFM方法中的几个关键算法进行实验分析,验证了CFM方法的有效性。  
其他文献
随着国家对建筑信息化模型的战略引导和推广,针对结构工程信息化、数字化的研究和应用已成为当前的热点,迫切需要理论上的提升和方法上的创新。本文综合运用现代土木工程学科与
物联网被誉为是继计算机、互联网之后的第三次信息技术革命,已经引起各国政府、工业界和学术界的高度关注。随着以RFID、无线传感网络为代表的感知技术和通信技术的飞速发展,有
近年来,随着企业信息化系统建设的不断推进,工作流系统已经得到了越来越广泛的应用。企业针对不同领域开发出各式各样的工作流程应用于日常的生产实践中,极大地提高了企业办
伴随着新纪元的到来,人类已经全面进入互联网的新世界,人们生活的方方面面都在被互联网的思维改变着。随着国家“宽带网络校校通、优质资源班班通、网络学习空间人人通”的“三
MCAI技术从90年代初期发展至今,已日渐成熟.它主要涉及到多媒体、数据库、人工智能、数据通信以及教育心理等多学科.目前主要研究方向有系统模型、标准化、多媒体的数据压缩
随着互联网的发展、存储规模的骤增,大型数据中心硬盘频繁损坏导致的数据丢失给企业带来的损失已成为不可忽视的重大问题。硬盘厂商生产的各种型号硬盘通常都会支持SMART(全称
对于搜索引擎来说,检索性能和检索质量是影响其发展至关重要的两个指标。本文的研究关注两者的权衡,即搜索引擎返回的网页是否能满足用户需求,同时又有较好的性能。现代搜索引擎
近年来,伴随着信息技术的迅猛发展,以文本、图像、音频、视频等为载体的数字技术得到广泛应用,给人们带来了极大的便利。然而,在带来了便捷的同时,也带来了侵权、盗版等问题
移动智能终端已成为人们的主要上网工具。移动智能终端上的APP数量和质量上都有巨大进步。传统的APP推荐方法使用APP下载量和特定个人信息等数据来为用户提供推荐,无法准确把
无线传感器网络(WSNs)是一种以现代传感器技术、微机电系统、嵌入式计算、分布式信息处理和网络通信技术等为基础的多学科综合信息获取和处理技术。大量低成本、低功耗的微型