模型和代码的一致性检测方法的研究

来源 :重庆大学 | 被引量 : 0次 | 上传用户:LAJIFIFI
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机应用领域的扩大、应用程度的不断加深,计算机软件规模的不断增大,使得提高软件质量和效率迫在眉睫。由于在现有的软件开发过程中,代码与模型不一致问题的存在导致系统功能与用户需求不相符合,软件维护代价过大,软件质量的下降。虽然国内外对模型间的一致性检测有大量研究,代码的分析技术(含逆向工程)也相当成熟,但是模型与代码间的一致性检测相关性研究比较少,因此,本文对模型和代码的一致性检测方法的研究具有重要的必要性和创新性。模型与代码之间一致性检测的研究,要求分别对模型和代码进行分析,然后通过一致性检测算法来对两者进行检测,完成模型与代码之间的一致性检测,找出二者之间的不一致。本文针对UML模型与Java源代码进行一致性检测研究。首先,本文对UML的类图和时序图进行形式化描述,便于实现对UML模型的自动解析。第二,提出了时序调用图(SD-CG)这一概念,完成了对UML模型信息的预处理:①类的关联关系到关联属性的转换;②UML时序图到时序调用图SD-CG的转换。第三,通过对Java源代码的词法分析和语法分析,获得类的信息及方法调用图(CG)。通过使用调用图来表达类方法之间的调用关系,从而反映代码动态行为。它是编译期对程序中方法调用关系的一种静态描述,这种静态描述构建的方法调用图能够实现对代码信息动态交互的分析。最后,设计了UML模型与Java源代码间静态信息与交互信息的一致性检测算法。鉴于图的一致性检测算法是NP完全问题,为了提高一致性检测的效率,本文采用关系代数中的部分关系,对调用图进行上升运算构造类交互图,在通过类交互一致性检测后,再进行时序调用图SD-CG与方法调用图CG间的一致性检测。基于上述理论研究,本文提出了UML模型与Java代码一致性检测的框架。在对建模工具ArgoUML的XMI模型文件以及Java源代码分析的基础上,开发了一个基于该框架工具原型,实现了模型信息解析和提取、时序调用图的构造、Java调用图构造、类交互图的构造、静态信息与动态交互信息的一致性检测等功能。本文通过网上购书系统这一实例,验证了该工具可以实现对不一致信息的定位,完成对模型与代码间的一致性检测,验证了本文所提方法是可行的与有效的。
其他文献
随着网络化、信息化的飞速发展,人们对信息安全的需求越来越大,对隐私保护的要求越来越高。要在公共的、不安全的信道上安全的传输秘密,密码系统是必不可少的。一套密码系统
医学图像分割是临床医学诊断的关键步骤,与普通图像相比,医学图像具有异质性,部分容积效应和噪声的特点。模糊C均值聚类(Fuzzy C-Means,FCM)算法是常用的医学图像分割算法之一。
当下一方面智能手机持有量爆发式地增长以及手机计算能力的不断提升,能量消耗越来越大;另一方面,手机电池容量受限于制造工艺的制约发展相对缓慢。智能手机的能耗问题日益突出
近几年随着物联网的迅猛发展,射频识别(Radio Frequency Identification, RFID)技术作为其关键技术之一也获得越来越大的发展。RFID技术拥有快速扫描、非接触识别以及穿透性
云计算是一种新兴的计算模式,被认为是下一代互联网技术的核心应用架构。在云计算环境下,绝大多数的应用软件和数据都被转移到了云服务提供商的庞大网络数据中心。当用户外包敏
作为无线传感器网络在水下环境的延伸,水下无线传感器网络(Underwater Wireless Sensor Networks,UWSNs)已经引起了学术界的广泛关注。通过在既定水域部署采用声波通信方式的水下
随着计算机技术的迅速发展,云计算作为一种新的商业运营模式,被广泛使用。云计算是一种新的网络应用技术,将大量计算资源、存储资源与软件资源链接在一起,形成巨大规模的共享
随着近年来我国经济和社会的飞速发展,我国的航空事业也突飞猛进。由于人民群众生活水平的提高,民用航空运输量逐年递增,通用航空已经成为国家新的经济增长点。同时,由于军队
随着web2.0的出现,社交网络服务发展迅速,成为人们参与信息发布、传播的主要媒介。社交网络用户和信息的爆发式增长,使得人们面临信息过载的问题。社会化推荐作为一种信息获取的
在安全领域,软件完整性提供了一个不同于以往的角度对软件当前的运行状态进行评估。软件完整性代表着软件的可信赖程度(trustworthiness)。而软件从文件系统上载入到内存时,