一种基于聚类的Linux侧面挖掘技术的研究与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:huangwj03
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自提出至今,面向侧面编程(Aspect-Oriented Programming,AOP)技术已被证明可以有效地改善软件的可维护性、可理解性以及可演化性。为了使用AOP技术重构遗产软件,首先需要自动或者半自动地寻找系统中值得并且可能被重构的代码,该过程称为侧面挖掘(Aspect Mining)。虽然到目前为止已经有了一些侧面挖掘技术研究成果,但是其中大部分方法返同的结果尚需进行人工分类,并且很难覆盖侧而相关的所有程序实体,这给程序员完整地重构侧面带来了困难。   针对这样的问题,本文提出了一种新的侧面挖掘技术:基于聚类的扇入值分析(Clustering-Based Fan-in Analysis,CBFA)。与其他侧面挖掘方法不同,CBFA采用了基于文本的聚类方法进行侧面挖掘,自动并且精确地推荐一组相关的函数作为侧而候选。这个自动聚类过程一方面可以显著地减少人工对结果进行分类的工作量;另一方面,对聚类整体而非单个函数进行挖掘可以减少返回不完整侧面的情况。同时,本文提出了一个新的侧面排序指标:聚类扇入值(cluster fan—in value)来按照结果的重要性进行排序。该指标有助于程序员更快地在挖掘结果中发现重要侧面,另外也避免了现有排序指标容易遗漏重要侧面的弊端。   论文在Eclipse平台上实现了CBFA工具原型,并且在Linux操作系统上在几种重要的侧面上与两种主流侧面挖掘技术进行了详细对比。评估结果显示,CBFA可以在保证挖掘准确率的同时,较其中一种方法提高大约50%的侧面覆盖率;而较另一种方法可以有效地在前30个而不是前121个结果中找到重要关注点,另外也可以发现后者无法找到的三个重要侧面。
其他文献
车辆识别是智能交通管理系统的重要组成部分,同时也是数字图像处理技术、模式识别技术和计算机视觉等交叉学科研究的热门课题。目前,车辆识别系统主要是针对车牌进行识别,但
随着人工智能、大数据和物联网等新兴技术的迅猛发展和交叉融合,数据中心和超算中心的应用负载特征呈现愈发明显的多样化趋势,对互连网络的灵活性要求越来越高。现有的软件定义
在我国,近些年城镇车辆保有量迅速增加,汽车日益成为人们生活的一个重要组成部分。为了满足人们日益增长的通过网络获取信息的需求,车辆网络(简称VANET)应运而生。VANET网络为安
“面向863孵化器的综合技术服务平台”(简称:孵化器技术服务平台)是面向全国各863孵化器、软件技术服务机构和软件企业的综合技术服务平台。该平台采用开放的SOA技术架构,服务
中国教育与科研计算机网(CERNET)跨机构统一认证和资源共享基础设施(CARSI)项目旨在以跨机构联盟的形式搭建跨域应用资源和用户真实身份信息共享平台。跨域统一认证和资源共
随着半导体行业的飞速发展,集成电路规模的不断提高,系统芯片SoC(System on Chip)技术已逐渐成为集成电路技术的主流。由于信息产业的迅猛发展,信息化已经深入到国计民生的各个
某供电局电力信息一体化平台整体结构复杂、信息量大,综合了设备台帐、电力生产、电力设备采购、电力管理办公、变电运行日志、无功管理、停电计划管理、电力培训等多个系统,但
随着语义网的发展,本体越来越多地在各个领域被应用。然而由于本体的创建对领域知识的理解不同,侧重的角度不同,使用的建模方法不同,即使是在同一领域的共享概念上创建的本体,不同
当前,信息系统已经从纯粹的信息展示窗口演变成包含实际应用逻辑的业务平台。这要求信息系统不仅能够支持数据的展现、存储、检索和管理,还应该支持对业务流程的管理。然而,在大
在预测模型中,当自变量的维度增加时,预测精度和算法性能都会显著下降,这就是所谓“维度诅咒”的问题。针对这一问题的多数解决方法都依赖所谓稀疏性假设,即函数值只依赖高维变量