×

声音重构。 (英语) Zbl 1191.68168号

摘要:重构包括在不改变其行为的情况下重构面向对象的程序。在本文中,我们将重构作为一种转换规则,用于以Java为灵感的精化语言编写的程序,该语言允许对面向对象的程序和规范进行推理。对于这种语言的命令式结构及其面向对象的特性,有一套编程规则;在最弱的前提语义下证明了这些定律的正确性。重构规则保留行为(语义)的证明是通过应用这些编程规则和数据模拟完成的。作为重构方法的说明,我们使用规则来重构程序,使其符合设计模式。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)

软件:

艾菲尔
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Meyer,B.:面向对象的软件构造(1997)·Zbl 0987.68516号
[2] Fowler,M.:重构:改进现有代码的设计(1999)·Zbl 1020.68632号
[3] Eclipse.org,Eclipse,在线提供:http://www.eclipse.org/。上次访问时间:2009年7月
[4] T.Ekman、R.Ettinger、M.Schäfer、M.Verbaere,《重构错误》,网址:http://progtools.comlab.ox.ac.uk/refactoring/bugreports, 2008
[5] W.Opdyke,重构面向对象框架,博士论文,伊利诺伊大学香槟分校,1992年
[6] D.B.Roberts,重构的实践分析,博士论文,伊利诺伊大学香槟分校,1999年
[7] 博尔巴,P。;Sampaio,A。;卡瓦尔坎蒂,A。;Cornélio,M.:面向对象编程的代数推理,《计算机编程科学》52,53-100(2004)·Zbl 1091.68027号 ·doi:10.1016/j.scico.2004.03.003
[8] 博尔巴,P。;Sampaio,A。;Cornélio,M.:面向对象编程的精化代数,计算机科学讲义2743,257-282(2003)
[9] M.L.Cornélio,《作为正式提炼的重构》,博士论文,伯南布哥联邦大学信息中心,也可在http://www.dsc.upe.br/mlc,2004年
[10] 卡瓦尔坎蒂,A.L.C。;Naumann,D.A.:面向对象程序精化的最弱前提语义,IEEE软件工程事务26,第8期,713-728(2000)
[11] 卡瓦尔坎蒂,A.L.C。;Naumann,D.:面向对象语言精化的最弱前提语义,计算机科学讲义1709,1439-1459(1999)·Zbl 0953.68081号
[12] Cornélio,M。;卡瓦尔坎蒂,A。;Sampaio,A.:通过转换重构,Eletronic理论计算机科学笔记70,第3期,311-330(2002)·Zbl 1270.68168号
[13] Gamma,E.:设计模式:可重用面向对象软件的元素,Addison-wesley专业计算系列(1994)
[14] 朱尼奥,A.C。;席尔瓦,L。;Cornélio,M.:《使用cafeobj实现重构证明和应用的机械化》,《理论计算机科学电子笔记》184,39-61(2007)·Zbl 1279.68113号
[15] De Freitas,L.公司。;Caraciolo,M。;Cornélio,M.:《验证面向对象编程法条件的逻辑编程》,《通用计算机科学杂志》13,第6期,721-736(2007)
[16] 卡瓦尔坎蒂,A.L.C。;哈伍德,W。;Woodcock,J.C.P.:统一编程理论中的指针和记录,计算机科学讲义4010,200-216(2006)·Zbl 1186.68107号 ·doi:10.1007/11768173_12
[17] 霍尔,C.A.R。;He,J.:统一编程理论(1998)·Zbl 1005.68036号
[18] 桑托斯,T.L.V.L。;卡瓦尔坎蒂,A.L.C。;Sampaio,A.C.A.:UTP中的面向对象,计算机科学讲稿4010,18-37(2006)·Zbl 1186.68091号 ·数字对象标识代码:10.1007/11768173_2
[19] 阿诺德,K。;Gosling,J.:Java编程语言(1996)·Zbl 0876.68015号
[20] Morgan,C.C.:规范编程(1994)·Zbl 0829.68083号
[21] C.C.Morgan,K.Robinson,P.H.B.Gardiner,《关于精化演算》,技术专著tm-prg-70,牛津大学计算实验室,英国牛津,1988年10月
[22] Dijkstra,E.W.:编程学科(1976)·Zbl 0368.68005号
[23] R.J.R.Back,精化微积分中的过程抽象,技术代表,芬兰奥博计算机科学系,ser。A.第55号,1987年
[24] 卡瓦尔坎蒂,A.L.C。;Naumann,D.A.:类数据精化的正向模拟,计算机科学讲稿2391471-490(2002)·Zbl 1064.68529号
[25] Hoare,C.:《编程法》,《ACM通讯》第30期,第8期,第672-686页(1987年)·Zbl 0629.68006号
[26] 马洛·T·J。;Ryder,B.G.:《数据流框架的属性:统一模型》,《信息学报》28,121-163(1990)·Zbl 0695.68049号 ·doi:10.1007/BF01237234
[27] 凯里夫斯基,J.:重构模式,(2005)
[28] Mens,T.:用图形转换形式化重构:研究文章,《软件维护与进化杂志:研究与实践》17,第4期,247-276(2005)
[29] J.Philipps,B.Rumpe,《重构的根源》,摘自:Proc。第十届OOPSLA行为语义学研讨会:回到基础,佛罗里达州,美国
[30] Tip,F.:《程序切片技术的调查》,《程序设计语言杂志》3,第3期,121-189(1995)
[31] 宾克利,D。;Gallagher,K.:程序切片,计算进展43,1-50(1996)
[32] Maruyama,K.:使用基于块的切片进行自动方法提取重构,31-40(2001)
[33] Lakhotia,A。;Deprez,J.-C.:《通过将语句嵌入函数来重组程序》,《信息与软件技术》40,第11–12期,677-690(1998)
[34] R.Ettinger,《通过程序切片和滑动重构》,牛津大学博士论文,2006年
[35] 班瓦特,F。;Müller,P.:正确更改程序:用规范重构,计算机科学课堂讲稿4085,492-507(2006)
[36] F.Bannwart,《正确更改软件——用程序规范验证重构的调查》,硕士论文,苏黎世理工学院,2006年
[37] M.O.Cinnéide,《设计模式的自动化应用:重构方法》,都柏林三一学院计算机科学系博士论文,2000年
[38] L.A.Tokuda,通过重构进化面向对象设计,德克萨斯大学奥斯汀分校计算机科学系博士论文,1999年9月
[39] Cornélio,M。;卡瓦尔坎蒂,A。;Sampaio,A.:《重构分层架构》,《理论计算机科学电子笔记》130,281-300(2005)·Zbl 1272.68092号
[40] 克尼塞尔,G。;Koch,H.:重构的静态组合,《计算机编程科学》52,9-51(2004)·Zbl 1091.68031号 ·doi:10.1016/j.scico.2004.03.002
[41] Banerjee,A。;Naumann,D.:基于状态的所有权、重入和封装,计算机科学讲义3586,387-411(2005)
[42] Sridharan,M。;Bodík,R.:基于精炼的上下文敏感点——Java分析,387-400(2006)
[43] Lam,M.S.:作为数据库查询的上下文敏感程序分析,1-12(2005)
[44] A.Nakagawa、T.Sawada、K.Futatsugi,《CafeOBJ用户手册》第1.4版,1999年。网址:http://www.ldl.jaist.ac.jp/cafeobj/manual/manual.ps.gz
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。