Java程序切片及其在功能复用中的应用

来源 :东南大学 | 被引量 : 1次 | 上传用户:bleachff
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件工程领域中,随着用户需求增大,软件规模不断扩大并且其复杂性正在逐步增加。程序切片作为一种程序分解技术,可以有效地把一个复杂的程序分割成多个部分,使得该程序便于理解、分析和复用。使用软件复用技术把程序切片所分割的部分模块重复利用到新的环境中,可以降低整个软件生产中需要的花销,在节省劳动力和物件消耗成本的同时,减少软件缺陷和软件风险的发生。为了探究软件模块的提取以及提取的软件模块是否具有可重用性,本文研究基于程序切片的软件模块提取以及提取的模块的可复用性度量技术。在程序切片方面,本文设计了面向Java程序的、基于扩展的系统依赖图以及两阶段遍历图可达性程序切片算法。从构造控制流图到添加数据依赖边和控制依赖边形成程序依赖图,再在程序依赖图的基础之上,添加过程间调用边形成表达多个过程的系统依赖图。在系统依赖图的基础之上,添加面向对象Java程序所具有的特性所反映出来的节点,对系统依赖图进行面向对象的扩充,实现了扩展的系统依赖图。面向对象程序中软件度量的重要方式主要是内聚性、耦合性和复杂性度量,群聚度直观体现了一个模块包含的代码的紧密程度,在一定程度上反映了这个模块的聚集程度,也是复杂度和内聚度的一种体现。本文基于所设计基于扩展系统依赖图的Java程序切片算法,设计了Java程序功能模块提取算法,并设计了采用群聚度、复杂度、耦合度和内聚度评价指标的功能模块可复用性度量方法。基于所设计的切片算法、功能模块提取算法和功能模块可复用性度量方法,设计和实现了一个Java程序功能模块提取和可复用性度量工具JP Function Extractor,并进行了三组实验分析。其一是从切片工具结果与源码逻辑结构的相似程度来对切片工具进行有效性分析,其二是从工程的不同版本同一功能模块以及同一版本不同功能模块这两个方面分析度量工具的有效性,其三是与其他方法比较,探讨本文所使用的切片工具的优越性体现方面。本文的独特之处在于在程序切片的基础之上研究功能模块可复用性度量问题。首先,利用程序解析技术得到Java源程序中的所有功能模块,并对功能模块进行面向对象的程序切片。其次,提出四个指标作为衡量功能模块切片结果的可复用性的度量方法。最后,根据度量结果对功能模块的可复用性进行分析。
其他文献
随着城市化进程加快,我国城市地铁轨道交通的建设规模逐年增加。由于地铁建设大多处于城市繁华地带,地下管线繁多,周围建筑密集,隧道施工环境复杂、不确定因素众多,地铁隧道施工事故不断发生,造成了巨大的经济损失及人员伤亡,带来了不良的社会影响。因此,开展地铁隧道事故施工风险等级评价研究,对防范施工事故的发生具有现实意义。本文依托武汉某地铁隧道工程项目,分析地铁隧道施工事故风险特征,识别地铁隧道施工事故风险
在当今时代,物联网系统开始普及,进入人们的日常生活。人们在享受物联网服务带来的便利的同时,也因为物联网系统的安全问题承受着极大的风险。传统的物联网系统本地安全保障
软件定义无线网络(Software Defined Wireless Network,SDWN)作为5G移动通信网络发展的关键技术,增加了网络的可管、可控、可扩展性,优化了网络资源的调度,能够为用户提供可
随着信息技术的不断发展,物联网服务在生产生活中的应用越来越广泛。但是,物联网服务在给人们带来极大便利的同时,也存在着巨大的安全隐患。本文在传统入侵检测技术的基础之
随着互联网的高速发展,各种网站层出不穷,网页数据也呈现指数级增长。如果可以快速地对网页进行分析并提取出有价值的信息,将其提供给有需要的人群,会是一件十分有意义的事情
随着网络的日益普及,生活生产中随时会产生大量的数据,从海量数据中获取有用信息是人们遇到的一个主要问题,因此数据挖掘和知识发现技术显得越来越重要,其相关研究也越来越多
现今,微型光纤模态干涉仪(Miniaturized Modal interferometer,MMI)的应用越来越广泛,与传统的电子传感器相比,它们有许多固有的优点,例如:价格低、尺寸小、制作工艺简单、抗
全球经济文化迅猛发展的今天,国与国之间的交流日益频繁。为了满足信息获取的需要,外宣新闻成为国际间信息交流的窗口。很多企业为了拓展国外市场,也积极利用各种媒介开展对外宣传。多尼卡公司是一家民营高新技术企业,专攻航空电子设备研发。笔者实习期间在多尼卡电子技术公司从事微信公众号这一新兴媒体的外宣新闻翻译工作。奈达的功能对等理论的核心是关注语言的功能与读者的心理反应,这为外宣类新闻翻译提供了契合的指导方向
随着软件规模的不断增大,对复杂软件系统的行为进行分析日益成为数据挖掘领域的热点。软件的一次运行对应一条执行轨迹,表示软件的一次行为,从大量的软件执行轨迹中挖掘出人
农业物联网是传感技术、网络技术和信息技术在农业领域的综合应用。农业物联网能够促进农业信息化、精细化和智能化,是解决我国农业劳动力日益不足和生产效率较低等问题的有