×

Java程序的程序切片。 (英语) Zbl 07618125号

概要:程序切片是一种提取程序中可能影响在给定程序点计算的值的部分的技术(称为切片标准)。为了表示程序,程序切片使用系统依赖图(SDG),其中有几个扩展,如Java系统依赖图(JSysDG)或子语句线性依赖图(SSLDG),用于处理Java面向对象程序。在本文中,我们给出了一个不完全性结果,证明了这些图并不是在所有情况下都产生完整的切片,特别是当选择一些对象变量作为切片标准时。我们首先确定了问题的根源:在这些方法中,对象的部分定义之间的依赖关系的表示是不明确的,导致在许多情况下失去完整性。为了解决这个限制,我们扩展了这些表示,为对象类型变量添加了一个特定的流依赖关系,称为对象流依赖性。此扩展提供了对象变量及其数据成员之间更准确的流表示,并允许我们在选择对象变量作为切片标准时获得完整的切片。

理学硕士:

68倍 计算机科学
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Tip,F.,《程序切片技术综述》,J.program。Lang.,3121-189(1995)
[2] Silva,J.,基于程序切片技术的词汇表,ACM Compute。调查。,44 (2012) ·Zbl 1293.68081号
[3] Weiser,M.,程序切片,(第五届软件工程国际会议论文集。第五届国际软件工程会议论文集,ICSE’81(1981),IEEE出版社:美国新泽西州皮斯卡塔韦IEEE出版社),439-449
[4] Ottenstein,K.J。;Ottenstein,L.M.,软件开发环境中的程序依赖图,Softw。工程注释,9177-184(1984)
[5] Hajnal,A。;Forgács,I.,分割遗留COBOL系统的需求驱动方法,J.Softw。维护。,24, 67-82 (2012)
[6] DeMillo,R.A。;潘,H。;Spafford,E.H.,软件故障定位的关键切片,SIGSOFT Softw。工程注释,21,121-134(1996)
[7] 奥乔亚,C。;席尔瓦,J。;Vidal,G.,通过动态切片实现轻量级程序专业化,(2005年ACM SIGPLAN库里和功能逻辑编程研讨会论文集。2005年ACM SIGPLAN库里和功能逻辑编程研讨会论文集,WCFLP’05(2005),ACM:ACM纽约,美国纽约),1-7
[8] 沃金肖,北卡罗来纳州。;罗珀,M。;Wood,M.,Java系统依赖图,(第三届IEEE源代码分析和操作国际研讨会论文集(2003)),55-64
[9] 露露·W。;Bixin,L。;Xianglong,K.,类型切片:基于子语句级依赖图的精确面向对象切片,Inf.Softw。技术。,127,第106369条pp.(2020)
[10] Allen,F.E.,控制流分析,SIGPLAN Not。,5, 1-19 (1970)
[11] 费兰特,J。;Ottenstein,K.J。;Warren,J.D.,程序依赖图及其在优化中的应用,ACM Trans。程序。语言系统。,9, 319-349 (1987) ·Zbl 0623.68012号
[12] 霍维茨,S。;代表,T。;Binkley,D.,使用依赖图进行硬膜外切片,ACM Trans。程序。语言系统。,12, 26-60 (1990)
[13] Larsen,L。;Harrold,M.J.,切片面向对象软件,(第18届软件工程国际会议论文集。第18届国际软件工程会议论文集,ICSE’96(1996),IEEE计算机学会:IEEE计算机协会,美国华盛顿特区),495-505
[14] Liang,D。;Harrold,M.J.,使用系统依赖图分割对象,(《国际软件维护会议论文集》,国际软件维护大会论文集,ICSM’98(1998),IEEE计算机学会:IEEE计算机协会,华盛顿特区,美国),358-367
[15] 托内拉,P。;安东尼奥,G。;费特姆,R。;Merlo,E.,流不敏感C++指针和多态性分析及其在切片中的应用,(第19届国际软件工程会议论文集(1997)),433-443
[16] 锤子,C。;Snelting,G.,一种改进的Java切片器,(第五届ACM SIGPLAN-SIGSOFT软件工具和工程程序分析研讨会论文集(2004)),17-22
[17] Y.鹿岛。;Ishio,T。;Inoue,K.,《Java反向切片技术的比较》,IEICE Trans。信息系统。,98, 119-130 (2015)
[18] 帕尼,S.K。;Arundhati,P。;Mohanty,M.,《一种有效的C++程序切片方法》,国际编译杂志。工程技术。,1, 72-82 (2010)
[19] Jain,S。;Poonia,M.S.,《程序切片的新方法:混合SD(静态和动态)切片》,Int.J.Adv.Res.Compute。Commun公司。工程,2(2013)
[20] 徐,Z。;钱,J。;Chen,L。;陈,Z。;Xu,B.,Python一级对象的静态切片,(2013年第13届国际质量软件大会(2013)),117-124
[21] 陈,Z。;Xu,B.,切片并发Java程序,SIGPLAN非。,36, 41-47 (2001)
[22] 奥索,A。;辛哈,S。;Harrold,M.J.,指针对数据依赖的影响,(第九届程序理解国际研讨会论文集。第九届国际程序理解研讨会论文集,IWPC 2001(2001),IEEE),39-49
[23] 陈,Z。;Xu,B.,切片面向对象Java程序,SIGPLAN Not。,36, 33-40 (2001)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。