论文部分内容阅读
近年来,随着计算机和网络技术的迅速发展与广泛应用,社会的信息化程度不断提高,使用计算机和网络已经成为人们生活和工作中不可缺少的组成部分。同时人类社会对各种计算系统的可依赖程度越来越高,用户对于软件的可信性越来越关注,如何提高软件可信性已成为当前的一个热点研究领域。可信软件是指在特定环境下,其运行行为及结果符合人们预期,并在受到干扰时仍能提供连续服务的软件。在软件工程发展过程中,面向对象软件得到了广泛的应用,虽然面向对象软件系统相对于传统的面向过程的软件系统有很多优点,但面向对象软件也不是完全安全的,并且现有的关于软件行为可信性的研究主要集中于面向过程的软件,因此对面向对象软件的可信性进行研究具有重要的理论意义和现实意义。 本文以面向对象软件中的对象间交互行为为研究对象,针对提高软件可信性问题,在已有的可信软件研究、软件行为分析、软件行为监测等理论和技术的基础上,对如何验证面向对象软件的交互行为可信性问题进行了相关研究。针对研究问题,本文首先提出了一个面向对象软件交互行为的分析模型,模型由软件预期行为的获取、软件实际行为的获取、软件实际行为的验证三部分组成。其中预期行为获取部分基于面向对象软件的工作原理和成熟的建模技术,利用相关逆向工程的工具从面向对象软件的源码中抽取系统的UML序列图,并通过模型转换规则将UML模型转换为有色Petri网,从而对Petri网进行行为分析得到系统的预期的状态可达集,以此作为系统行为可信性验证的输入基础。针对软件实际行为的获取和验证问题,本文设计了一个基于AOP技术的软件行为监测和验证框架,框架包含了监测需求的获取、监测代码的插装以及实际行为与预期行为比对部分,同时本文给出了实际行为可信性验证的基本思路和算法。