基于主题模型的程序理解技术的研究

来源 :扬州大学 | 被引量 : 0次 | 上传用户:lanbingxingshi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了满足用户不断增加的需求,软件产品需进行不断的维护与演化。而在软件维护与演化的过程中,开发人员面临的主要问题之一就是如何能够快速而又准确的理解整个软件系统。随着系统的演化,其规模和复杂度也在不停地增长,程序理解的任务则变得越来越有难度。程序理解的目的在于获得软件系统信息,以易于人理解的形式展现出来,来辅助开发人员理解软件。本文针对面向对象Java程序的理解进行了相关的技术研究,主要贡献如下:第一,软件系统中的包的规模大小不一。对于小规模的包开发人员可以很容易地进行理解,而对于大规模的包,靠人工理解则比较困难。我们对大规模的包提出了一种包分解技术,即利用主题模型将大规模的包进行聚类来辅助理解。这些大规模的包经过聚类之后分解为小规模的聚类簇,这样,这些聚类簇和小规模包一样更加易于开发人员理解。除此以外,在生成聚类簇的过程中,可利用主题模型技术为聚类簇生成标签,从而更加有助于对这些包的理解。我们通过实验对四个软件系统验证了我们方法的有效性,结果表明我们的方法的聚类结果好于LSI (Latent semantic indexing)的结果,我们的方法得到的每个聚类标签都能有效地辅助程序理解。第二,在实际程序理解过程中,程序员倾向并习惯于先对整个软件系统的特征做整体的了解,之后再去找到感兴趣的代码和所需要的文件。因此,给定了目标系统后,开发人员通常需要对整个系统有一般或层次的理解。传统的开发环境中可提供的视图是从包到类的一个结构,这并不易于理解这些大型软件系统的语义特征。本文我们利用层次主题模型生成一个软件系统的特征树方法,该特征树包含特征层次和文件结构层次,而这两个层次则是将软件系统的特征和文件结构以总体到部分的形式展示出来,从而有助于开发人员对系统语义特征的理解。通过对现实中的软件系统进行实验来验证我们方法的有效性,结果表明我们的方法所得的特征树可以对特征和文件给出很好的展示,而且我们方法的聚类结果在查全率方面优于层次聚类方法。第三,特征及其联系可以有效地帮助开发人员得到一个软件系统总体功能方面的特征信息。为软件系统建立一个基于特征的网络结构,可以帮助开发人员更加简单和快速的理解软件系统。我们通过使用相关主题模型,为软件系统的所有类层次的代码文件建立一个程序网络,并可视化地展示整个软件系统的相关结构和功能,辅助开发者理解整个程序代码。该技术综合考虑了软件代码中的结构性信息和内容性信息,所建立的程序网络可以帮助开发者更好地理解程序的语法依赖关系和语义功能相关关系。我们通过两个实验验证了我们建立的程序网络具有较好的准确性以及可以为指定的类有效地推荐相关类。
其他文献
电力系统中时钟的协调统一对于故障的分析、监视的控制及运行的管理都有着举足轻重的作用。在电力系统中实现实时同步功能,使系统网络中所有主机的时间高度一致,最终达到电力全
本文针对决策树学习过程中存在的多值偏向问题,提出两种改进方法,从不同的角度来解决ID3算法的缺陷并优化决策树学习算法。同时,在算法优化的基础上,以Eclipse为开发平台,设
随着无线通信技术的发展,各种无线接入网络得到越来越广泛的部署和应用,如WLAN,UWB,WiMAX等。这些接入网络在覆盖范围、传输速率、网络容量、部署成本和价格等方面都具有各异
20世纪90年代,随着生物学的进步,人们对生物系统的认识不断深入,越来越多的计算机学家和工程师们认识到生物系统完全可以作为解决更多复杂问题的重要手段,因此人们对研究生物
制造网格是制造业信息化的新的发展阶段,是网格技术在工业制造领域的应用,它利用网格技术将各种制造资源进行服务化封装,使得用户使用统一接口实现对资源的透明访问。数据资源是
在移动通信技术发展的过程中,不断的与无线网络技术的融合,满足了人们能够随时随地接入Internet,并且能够实现移动主机不断的移动而与Internet连接不中断,在这个过程中不需要
大型的工业园区在进行规划阶段通常使用沙盘、计算机三维动画等形式来模拟评估规划结果。但是表现形式都存在交互性、灵活性差的缺点。随着计算机技术的不断发展,通过使用三维
学位
增强现实是虚拟现实技术的拓展,通过把计算机生成的虚拟对象与真实环境融为一体的方式来增强用户对真实环境的理解和体验。增强现实的研究目标是实现虚拟对象与真实场景的虚
地理信息系统GIS(Geographic Information System)是一种基于计算机的工具,它可以对在地球上存在的东西和发生的事件进行成图和分析。GIS组件作为一种适应社会发展需求的GIS软件
学位
随着科学技术的进步和人民生活水平的日益提高,人均寿命日益延长,老年人的医疗保健问题成了社会广泛关注的焦点。家庭医疗保健系统在这种社会大环境下应运而生,它结合了信息