面向对象Java程序切片及其在API度量中的应用

来源 :东南大学 | 被引量 : 0次 | 上传用户:lishibo13514244774
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件度量是进行软件质量评估的有效手段。然而随着软件规模的不断扩大、软件构件的不断增加,现有的度量方法通过度量代码结构属性(如:代码复杂度等)来评估软件的质量,忽视了对软件内部组件间关联的质量评估。通过对软件内部的应用程序接口 API(Application Programming Interface)进行度量,可以了解软件系统内部组件之间的联系,从而可以更加系统地评估软件程序,使得目标软件的质量得到保障。程序切片是一种理解和分析软件程序的技术,能够在大规模代码中快速定位关注点代码,以便程序员集中精力研究关注点。本文工作利用程序切片技术对软件代码进行分析,可以从大量的代码中找出API的切片,在此基础之上完成对API的度量,可以提高度量结果的精确性。因此,本文提出了一种基于面向对象Java程序切片的API度量方法,该方法能够反映出软件整体的耦合和内聚程度,对软件整体设计情况作出评估。具体研究工作如下:首先,本文工作改进了传统切片技术中的面向对象Java系统依赖图,按照Java语言的语法规则将系统依赖图分成了三个层面的依赖图:类级别、方法级别和语句级别,并针对Java的不同语义在语句级别进行深入分析。通过对Java软件源码进行分层分析,构造粒度深入到语句内部的依赖图,可以使得切片结果更加精确,同时也缩小了切片的体积。其次,在程序切片的基础上,给出了五项API度量指标(紧密度、覆盖度、重合度、并行度、群聚度)的形式化表达,并进行了相应的度量算法设计。第三,在此基础上设计并实现了一个Java程序切片工具,能够对Java软件进行切片,并对其中的API进行度量。最后,分别进行了切片和度量实验,实验表明该方法能合理有效的反映出软件程序的内部质量属性。
其他文献
住宅是城市最基本组成部分,因此城市住宅演变研究对厘清城市空间发展脉络有重要意义。里弄住宅是中国近代最重要城市住宅类型之一,其原型是中国传统合院式住宅与西方联排式住宅,但其中的形态传承关系却不甚明了。由此本文以天津传统合院式住宅和旧式里弄两类住宅为例,旨在通过形态学分析厘清二者间的形态演变及传承关系。研究采用意大利类型过程学方法,将传统合院和旧式里弄纳入连续的类型过程,并通过不同层级要素解读住宅形态
水位改正是水深测量中一项重要的工作,其目的是获得待求点在测深时刻的真实海面位置,并将其归算至指定深度基准面上。现阶段,测深仪器和手段已有了较大突破,以多波束系统为代表的高分辨率、高精度测深方法在工程中得以广泛应用,而水位改正仍旧停留在传统方法上,成为了制约测深精度的主要因素之一。本文针对传统水位改正方法存在的问题进行了深入分析,并使用区域精密潮汐模型和余水位结合的方法实现了近岸复杂海域的水位改正。
SIP协议因其灵活性和易于扩充,被广泛应用于NGN、IMS等网络中。但由于SIP协议基于文本的特性,导致SIP消息容易被黑客改造成畸形SIP消息威胁核心网,从而引发网络实体崩溃、服
电子文档的随意拷贝和任意传输容易导致信息的泄露、窃取等问题,尤其是机构组织内部人员产生的泄密行为造成的后果往往更加严重,同时也最难预防。对于企业内部信息的安全保护
学位
随着大数据技术的发展,信息系统成为管理业务过程的重要工具。过程挖掘技术能够从信息系统产生的事件日志中提取知识,进行过程发现、一致性检测和过程增强。过程发现基于事件日志中包含的信息来构建过程模型,一致性检测用于分析过程模型与事件日志之间是否存在偏差,过程增强利用事件日志对现有的模型进行扩展或改进。模型修复技术作为过程增强的一种应用,能够根据事件日志对过程模型进行修复,使修复后的模型更符合实际的业务过
作为一种域间路由选择协议,边界网关协议BGP的功能成熟可靠。但是,BGP协议在安全方面却存在设计缺陷,面临着各种各样的威胁。当前,对BGP协议安全性增强的研究主要集中在域间
学位
随着互联网的日益普及和信息技术的飞速发展,互联网产生的数据正在爆炸式地增长,海量信息的存储与处理已经成为了每个企业必须重视的问题。当前,Hadoop是一种主流的开源大数
学位