拉兹洛·维达奇;阿尔帕德·贝塞德斯;蒂博尔·吉莫西 将预处理器切片与C/C++语言切片相结合。 (英语) Zbl 1183.68152号 科学。计算。程序。 74,第7期,399-413(2009). 摘要:在极少数程序切片算法的实际实现中,大多数是处理C/C++程序的。然而,这些切片器很少解决与预处理器相关的问题,尽管忽略(或仅部分处理)这些构造可能会导致切片结果严重不准确,从而导致正在执行的程序分析任务严重不准确。最近,提出了一种用于预处理器相关结构的精确切片方法,该方法与现有的C/C++语言切片器相结合,可以提供更完整的切片,从而更成功地分析用这些语言之一编写的程序。在本文中,我们提出了将两种切片方法相结合的方法,并通过实际实验描述了其在结果切片的完整性方面的优势。 MSC公司: 68甲15 编程语言理论 68N99型 软件理论 关键词:程序切片;信用证+;预处理;预处理器切片 软件:CodeSurfer(代码浏览器);哥伦布 PDF格式BibTeX公司 XML格式引用 \textit{L.Vidács}等人,科学。计算。程序。74,第7号,399--413(2009;Zbl 1183.68152) 全文: 内政部 链接 参考文献: [1] Tip,F.:《程序切片技术的调查》,《程序设计语言杂志》3,第3期,121-189(1995) [2] Weiser,M.:程序切片,IEEE软件工程事务10,第4期,352-357(1984)·Zbl 0552.68004号 [3] 徐,B。;钱,J。;张,X。;吴,Z。;Chen,L.:《程序切片的简要概述》,ACM SIGSOFT软件工程注释30,第2期,1-36页(2005) [4] A.Garrido,《存在预处理器指令的程序重构》,UIUC博士论文,2005年 [5] M.Vittek、P.Borovansk、P.-E.Moreau,C、C++和Java代码理解和重构插件的集合,收录于:ICSM(工业和工具卷),2005年,第61-64页 [6] GrammaTech CodeSurfer主页,GrammaTech CodeSurfer主页,2008。统一资源定位地址http://www.gramatech.com/products/codesurfer [7] L.Vidács,A.Beszédes,R.Ferenc,使用宏观切片进行宏观影响分析,摘自:《第二届软件和数据技术国际会议论文集》,ICSOFT’07,2007年,第230–235页 [8] L.Vidács,J.Jász,阿拉斯加州。Beszédes,T.Gyimóthy,《将预处理器切片与C/C++语言切片相结合》,载《第16届IEEE程序理解国际会议论文集》,2008年,第163-171页 [9] 霍维茨,S。;代表,T。;Binkley,D.:使用依赖图的跨过程切片,ACM在编程语言和系统上的事务12,No.1,26-61(1990) [10] 阿格拉瓦尔,H。;Horgan,J.R.:《动态程序切片》,摘自:《ACM SIGPLAN’90编程语言设计与实现会议论文集》,SIGPLAN通知,第6期,246-256(1990) [11] ,软件变更影响分析(1996) [12] 加拉赫,K.B。;Lyle,J.R.:《在软件维护中使用程序切片》,IEEE软件工程事务17,第8期,751-761(1991) [13] Cimitile,A。;De Lucia,A。;Munro,M.:用于识别可重用功能的规范驱动切片过程,《软件维护杂志:研究与实践》8,第3期,145-178(1996) [14] J.Zhao,提取可重用软件架构的基于切片的方法,摘自:《第四届欧洲软件维护与再工程会议论文集》,CSMR’00,2000年,第215-223页 [15] 阿格拉瓦尔,H。;Demillo,R.A。;Spafford,E.H.:《使用动态切片和回溯进行调试》,《软件–实践与经验》(SPE)23,第6期,589-616(1993) [16] Binkley,D.W.:程序切片在回归测试中的应用,《信息与软件技术》40,第11–12期,583-594(1998) [17] G.Rothermel,M.J.Harrold,《选择测试并确定修改后软件的测试覆盖要求》,摘自:ISSTA’94会议录,1994年,第169–183页 [18] 维达奇,L。;贝塞德斯,A。;Ferenc,R.:C/C++预处理的哥伦布模式,75-84(2004) [19] 宾克利博士。;Harman,M.:关于前后静态切片大小和上下文敏感性的大规模实证研究,44-53(2003) [20] 解开主页,解开项目主页,2008年。统一资源定位地址http://itl.nist.gov/div897/sqg/unravel/unravel.html [21] 莫克,M。;阿特金森特区。;钱伯斯,C。;Eggers,S.J.:《动态点到集的程序切片》,IEEE软件工程事务31,第8期,657-678(2005) [22] 宾克利,D。;Harman,M.:《确定依赖集群和依赖污染的位置》,177-186(2005) [23] 利瓦达斯,体育。;Small,D.T.:理解包含预处理器结构的代码,89-97(1994) [24] 库尔巴赫,B。;Riediger,V.:折叠:一种使程序理解预处理语言的方法,3-12(2001) [25] Understand for C++主页,《了解C++主页》,2007年。统一资源定位地址网址:http://www/scitools.com [26] Ottenstein,K.J.(奥滕斯坦,K.J.)。;Ottenstein,L.M.:软件开发环境中的程序依赖图,摘自:ACM SIGSOFT/SIGPLAN实用软件开发环境(SDE)软件工程研讨会论文集,宾夕法尼亚州匹兹堡,SIGPLAN通知,第19(5)号,177-184(1984)·Zbl 0549.68007号 [27] 费伦茨,R。;安大略省贝塞德斯。;Tarkiainen,M。;Gyimóthy,T.:Columbus–C++逆向工程工具和模式,172-181(2002) [28] FrontEndART软件有限公司,FrontEnd ART软件公司,2008年。统一资源定位地址http://www.frontendart.com网站 [29] 恩斯特,医学博士。;巴德罗斯,G.J。;Notkin,D.:C预处理器使用的实证分析,IEEE软件工程事务28,第12期,1146-1170(2002) [30] V.Rajlich,《基于图重写的变化传播模型》,载《ICSM学报》1997年,1997年,第84–91页 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。