面向对象软件的形式验证技术
【摘要】:
随着信息技术的发展,软件规模和复杂程度的日益增大,如何保证和提高软件质量成为软件界最为关心的问题之一。保证各种软件的正确性和提高软件的可靠性一直是人们研究的重点。20世纪60年代出现的“软件危机”表明软件项目中40%至60%的问题都是在需求阶段产生的,此过程中产生的问题包括收集、编辑、协商、修改产品需求过程中的手续和方法失误,非正式信息的收集,未确定的或不明确的功能,未发现或未经交流的假设,不完善的需求文档,以及突发的需求变更等。因此,在开发可靠的软件系统时,有效的规格说明技术,确认和验证手段是必需的。
人们研究形式方法希望帮助发现其它方法不容易发现的系统描述不一致性或不明确性,有助于增加软件开发人员对系统的理解,其目标是开发可靠的软件产品。形式方法的主要研究内容包括:形式规格说明(formal specification)和形式验证(formal verification)。定理证明(theorem proving)是一种形式验证方法,它是根据已构造的规格说明生成反映该规格说明应具有的性质,将其表示成定理形式,并加以证明,从而达到对系统规格说明验证的目的。
形式规格说明语言Object-Z是形式规格说明语言Z的面向对象扩充,基于数理逻辑与集合论,可以精确地描述大型面向对象软件,并且可以对它进行形式推理,以保证其正确性和一致性。Object-Z一般被用来描述一般的面向对象形式规格说明,但对于具有特定性质如行为子类型继承的规格说明,Object-Z难以描述。在Object-Z中,继承一般不保持行为子类型,本文提出了一种基于Object-Z行为子类型继承来描述面向对象形式规格说明的方法。行为子类型是一种强子类型继承,具有很好的特征,原先验证过的规格说明适用于替代后的规格说明,不必再重新验证,为了增强对复杂系统的推理能力,可以直接使用这些已知的信息,既体现了规格说明重用又体现了验证重用。
安全关键系统(safety-critical system)经常有功能需求与时间要求,对于许多系统来说,实时系统的精确需求是必需的,而Object-Z不能描述面向对象实时软件系统。本文提出了两个扩充Object-Z的实时方法:功能部分与实时部分分离方法和用带时钟变量的线性时态逻辑扩充方法,扩充以后可以方便地描述与验证面向对象实时软件系统。
多态性是面向对象程序设计的一个重要特征,它允许使用一个子类对象来代替其超类的对象,应用到超类对象的操作会自动调用定义在子类中同名的操作。本文提出了一种关于多态性的推理方法,并实现推理的重用。
一个形式规格说明是有用的,那它应该是一致的或非冲突的,本文研究了对形式规格说明的性质验证的方法,讨论了如何抽取满足相关性质的待证定理,即产生验证形式规格说明是否一致的,是否具有所需性质的证明责任(ProofObligation)。如果一个证明责任能够被证明,则说明此证明责任所相关的规格说明部分是一致的。
设计和开发验证工具对于提高验证效率,改善软件开发过程,保证软件质量具有重要意义,本文设计了一个Object-Z规格说明的证明责任产生器,可以产生相关的证明责任,这些证明责任可以输入到定理证明器Z/EVES中去证明之:先以Object-Z规格说明文件作为证明责任产生器的输入,接着按Z/EVES定理格式抽取证明责任,再把它作为Z/EVES定理证明器的输入文件。其中,所有的保存文件都是使用LATEX格式。
|
|
|
|
1 |
魏定国;吴时霖;;基于UML和Petri网的用户界面原型的研究[J];计算机科学;2001年12期 |
2 |
刘一兵;;一款IP电话机的需求分析设计[J];自动化与仪器仪表;2008年03期 |
3 |
张幸儿,朱晓军;基于形式源级转换的可执行规格说明技术[J];软件学报;1992年03期 |
4 |
张家重;费宗铭;;基于算法构架的软件自动产生[J];计算机研究与发展;1992年06期 |
5 |
李彤,沈勤祖,王庆革;基于前后断言的多线程形式功能规格说明语言[J];云南大学学报(自然科学版);1997年06期 |
6 |
余金山;;软件工程中的Al思想及其研究[J];计算机科学;1989年06期 |
7 |
杨培根,李楠,周建强;CPSL:一种通信协议规格说明语言及其支撑系统[J];计算机学报;1994年02期 |
8 |
柳曼云,李万学;面向对象CASE工具中的代码自动生成[J];电脑开发与应用;2000年03期 |
9 |
刘方鑫,刘厚泉,王潜平;一个面向CAD的自动程序设计系统的实现[J];计算机工程;1995年S1期 |
10 |
李刚,朱关铭,童頫;形式方法与面向对象方法的结合探讨[J];计算机工程;1998年01期 |
11 |
曹化工,赖蕾;确认测试路径的一种生成方法[J];华中理工大学学报;1999年02期 |
12 |
刘玲,缪淮扣;Z规格说明构造方法[J];计算机工程;2000年02期 |
13 |
袁兆山,王淑红;可复用构件表示模型研究[J];计算机应用;2001年01期 |
14 |
黄志华;苏国平;;一种基于DARTS设计的嵌入式软件测试用例模型[J];中国测试技术;2006年01期 |
15 |
吴帅;杨庆红;樊艳芬;;B方法规格说明的构造及应用[J];计算机与现代化;2007年05期 |
16 |
邵丽丽;;基于Petri网的电梯系统规格说明[J];长春大学学报;2011年06期 |
17 |
Raymond Reiter;柳诚飞;;基于知识的系统的基础[J];计算机科学;1987年05期 |
18 |
郑国樑,蓬颖;代数规格说明及其转换系统[J];计算机学报;1988年12期 |
19 |
冯昕;徐永森;;JSD的系统化转换与实现技术[J];计算机科学;1994年01期 |
20 |
陈沐天;许创;;下一世纪软件工程展望[J];计算机科学;1994年02期 |
|