×

适用类层次结构的证明系统。 (英语) Zbl 1304.68031号

摘要:软件系统的代码库在其生命周期中会发生变化。对于面向对象的语言,类是经过调整的,例如,为了满足新的需求,根据特定的用户功能定制软件,或者重构代码以降低其复杂性。然而,类层次结构的适应性使得对程序行为的推理具有挑战性;甚至类层次结构中间的类也可以修改。本文开发了一个证明系统,用于在方法重写和后期绑定方法调用的上下文中分析操作对类的适应效果。证明系统是增量的,因为对于没有通过调整明确改变的方法,可以避免重新验证。此外,可能的适应没有受到不适当的限制;即,在不影响推理控制的情况下保持灵活性。为了实现这种平衡,我们扩展了懒惰行为子类型机制,该机制最初是为了在类层次结构中添加子类时进行继承推理而提出的,以处理适应性更强的类层次结构和不断变化的规范的更一般情况。该推理系统将保证方法行为与方法需求区分开来,并通过跟踪自适应类层次中的保证和需求来实现增量推理。我们展示了所建议的证明系统的可靠性。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 克拉克,D。;迪亚科夫,N。;Hähnle,R。;约翰森,E.B。;谢弗,I。;Schäfer,J。;施拉特,R。;Wong,P.Y.H.,用HATS抽象行为建模语言建模时空变化,(Bernardo,M.;Issarny,V.,《第十一届国际计算机、通信和软件系统设计形式化方法学校学报》(SFM 2011)。第十一届国际计算机、通信和软件系统设计形式方法学院学报(SFM 2011),Lect。注释计算。科学。,第6659卷(2011年),斯普林格-Verlag),417-457
[2] Mens,T。;Tourwé,T.,《软件重构调查》,IEEE Trans。柔和。工程,30,2,126-139(2004)
[3] Fowler,M.,《重构:改进现有代码的设计》(1999),Addison-Wesley·Zbl 1020.68632号
[4] Liskov,B.H。;Wing,J.M.,子类型的行为概念,ACM Trans。程序。语言系统。,1811-1841年6月16日(1994年)
[5] Soundarajan,N。;Fridella,S.,《继承:从代码重用到推理重用》,(Devanbu,P.;Poulin,J.,《第五届软件重用国际会议论文集》(ICSR5)(1998),IEEE计算机社会出版社),206-215
[6] 多夫兰,J。;约翰森,E.B。;Owe,O。;Steffen,M.,《懒惰行为子类型》,J.Log。阿尔盖布。程序。,79, 7, 578-607 (2010) ·Zbl 1204.68072号
[7] 多夫兰,J。;约翰森,E.B。;Owe,O。;Steffen,M.,多重继承的惰性行为子类型增量推理,科学。计算。程序。,76, 10, 915-941 (2011) ·Zbl 1221.68058号
[8] 达米亚尼,F。;多夫兰,J。;约翰森,E.B。;Schaefer,I.,验证特征:细粒度重用的增量证明系统,Form.Asp。计算。,26, 4, 761-793 (2014) ·Zbl 1342.68059号
[9] Igarashi,A。;皮尔斯,公元前。;Wadler,P.,《Featherweight Java:Java和GJ的最小核心演算》,ACM Trans。程序。语言系统。,23, 3, 396-450 (2001)
[10] 伽玛,E。;赫尔姆·R。;约翰逊,R。;Vlissides,J.,《设计模式:可重用面向对象软件的元素》(1995),Addison Wesley:Addison Wesley Reading,马萨诸塞州
[11] 约翰森,E.B。;凯斯,M。;Yu,I.C.,《动态类:分布式并发对象的模块化异步演化》,(Cavalcanti,A.;Dams,D.,Proc.第16届形式方法国际研讨会(FM'09)。程序。第16届形式方法国际研讨会(FM'09),Lect。注释计算。科学。,第5850卷(2009年),斯普林格-Verlag),596-611
[12] 约翰森,E.B。;Owe,O.,分布式并发对象的异步通信模型,Softw。系统。型号。,6, 1, 35-58 (2007)
[13] 谢弗,I。;贝蒂尼,L。;波诺,V。;达米亚尼,F。;Tanzarella,N.,面向三角洲的软件产品线编程,(第14届软件产品线国际会议(SPLC 2010)会议记录)。第十四届国际软件产品线会议记录(SPLC 2010),Lect。注释计算。科学。,第6287卷(2010年),斯普林格-Verlag),77-91
[14] 约翰森,E.B。;Owe,O。;Yu,I.C.,Creol:分布式并发系统的类型安全面向对象模型,Theor。计算。科学。,365, 1-2, 23-66 (2006) ·Zbl 1118.68031号
[15] Apt,K.R.,《霍尔的逻辑十年:一项调查——第一部分,ACM Trans》。程序。语言系统。,3, 4, 431-483 (1981) ·Zbl 0471.68006号
[16] Apt,K.R。;de Boer,F.S。;Olderog,E.-R.,《顺序和并发系统的验证》,文本专著。计算。科学。(2009),Springer-Verlag·Zbl 1183.68361号
[17] de Boer,F.S.,面向对象的WP-calculus,(Thomas,W.,《软件科学与计算结构基础论文集》(FOSSACS’99)。软件科学与计算结构基础学报(FOSSACS’99),Lect。注释计算。科学。,第1578卷(1999),斯普林格·弗拉格),135-149
[18] Hoare,C.A.R.,《计算机编程的公理基础》,Commun。美国医学会,12576-580(1969)·Zbl 0179.23105号
[19] Owicki,S。;Gries,D.,并行程序公理证明技术I,Acta Inform。,6, 4, 319-340 (1976) ·Zbl 0312.68011号
[20] O.-J.达尔。;Owe,O.,《使用ABEL进行形式化开发》,(Prehn,S.;Toetenel,H.,Proc.Formal Software development Methods(VDM’91)。程序。形式化软件开发方法(VDM’91),Lect。注释计算。科学。,第552卷(1991年),施普林格出版社,320-362
[21] 多夫兰,J。;约翰森,E.B。;Owe,O.,用异步方法调用验证并发对象,(IEEE国际软件会议论文集-科学、技术和工程(SwSTE'05)(2005),IEEE计算机学会出版社),141-150
[22] Din,C.C。;多夫兰,J。;约翰森,E.B。;Owe,O.,《分布式系统的可观察行为:并发对象的组件推理》,J.Log。阿尔盖布。程序。,81, 3, 227-256 (2012) ·Zbl 1247.68184号
[23] Dhara,K.K。;Leavens,G.T.,通过规范继承强制行为子类型化,(第18届国际软件工程会议论文集(1996),IEEE计算机社会出版社),258-267,也作为爱荷华州立大学技术代表TR-95-20c
[24] 多夫兰,J。;约翰森,E.B。;Yu,I.C.,跟踪面向对象软件演化过程中的行为约束,(第五届利用形式方法应用、验证和确认国际研讨会(ISoLA’12)论文集,第一部分,第五届形式方法应用国际研讨会论文集,验证与确认(ISoLA’12),第一部分,法规。注释计算。科学。,第7609卷(2012年),施普林格出版社,253-268
[25] 波尔,K。;Böckle,G。;Van Der Linden,F.,《软件产品线工程:基础、原理和技术》(2005),斯普林格·弗拉格出版社·Zbl 1075.68575号
[26] 谢弗,I。;Hähnle,R.,《软件产品线工程中的形式化方法》,《计算机》,44,2,82-85(2011)
[27] 图姆,T。;谢弗,I。;Kuhlemann,M。;Apel,S.,《软件产品线演绎验证的证明构成》,(国际研讨会变化密集型系统测试、验证和验证(VAST)会议记录(2011),IEEE计算机学会出版社),270-277
[28] Bruns,D。;Klebanov,V。;Schaefer,I.,《使用面向增量的切片验证软件产品线》,(面向对象软件形式验证国际会议论文集(FoVeOOS 2010)。《面向对象软件形式验证国际会议论文集》(FoVeOOS 2010),Lect。注释计算。科学。,第6528卷(2011)),61-75·Zbl 1308.68038号
[29] Hähnle,R。;Schaefer,I.,面向增量编程的Liskov原理,(第五届形式方法应用、验证与确认国际研讨会论文集,第一部分,第五届利用形式方法应用,验证与确认(ISoLA)国际会议论文集,第I部分,Lect。注释计算。科学。,第7609卷(2012),施普林格-弗拉格),32-46
[30] 达米亚尼,F。;多夫兰,J。;约翰森,E.B。;Owe,O。;谢弗,I。;Yu,I.C.,面向增量编程的转换证明系统,(de Almeida,E.S.;Schwanninger,C.;Benavides,D.,《第16届国际软件产品线会议论文集》,第2卷(2012),ACM,53-60,《第三届软件产品线形式化方法国际研讨会论文集》(FMSPLE'12)
[31] Van Der Straeten,R。;Jonckers,V。;Mens,T.,《模型重构和模型细化的正式方法》,Softw。系统。型号。,6199-162(2007年)
[32] 马索尼,T。;Gheyi,R。;Borba,P.,《同步模型和程序重构》,(Davies,J.;Silva,L.;Simao,A.,《形式方法:基础和应用》,《Lect.Notes计算科学》,第6527卷(2011年),Springer-Verlag),96-111·Zbl 1325.68067号
[33] 马尔科维奇,S。;Baar,T.,重构OCL注释的UML类图,Softw。系统。型号。,7, 25-47 (2008)
[34] 尹,X。;Knight,J.C。;Weimer,W.,在形式验证中利用重构,(《可靠系统与网络学报》(DSN'09)(2009),IEEE计算机学会出版社),53-62
[35] Ubayashi,N。;Piao,J。;Shinotsuka,S。;Tamai,T.,面向方面重构的基于合同的验证,(《软件测试、验证和验证国际会议论文集》(2008),IEEE计算机学会出版社),180-189
[36] Wehrheim,H.,验证重复使用的切片技术,Theor。计算。科学。,343, 3, 509-528 (2005) ·Zbl 1079.68061号
[37] (Beckert,B.;Hähnle,R.;Schmitt,P.H.,面向对象软件的验证。KeY方法。面向对象软件验证。KeY方法,Lect.Notes Artif.Intell.,第4334卷(2007),Springer-Verlag)·Zbl 0998.68651号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。