×

互方面:具有GCC的面向方面仪器。 (英语) Zbl 1284.68153号

摘要:我们介绍了GCC的InterAspect工具框架,GCC是一种广泛使用的编译器基础设施。GCC最新版本中添加的插件支持使其成为运行时检测的一个吸引人的平台,因为GCC插件可以通过转换编译器的中间表示直接添加检测。然而,这种转换需要GCC内部的专业知识。InterAspect通过允许使用熟悉的面向方面编程词汇表(切入点、连接点和通知函数)开发工具插件来解决这种情况。此外,InterAspect使用关于切入点中每个连接点的特定信息,可能包括静态分析的结果,以支持强大的自定义插装。我们描述了InterAspect API,并提供了几个示例来说明其作为运行时验证平台的实用性。我们还引入了一个tracecut系统,该系统使用InterAspect构造正式指定为正则表达式的程序监控器。

MSC公司:

68N20型 编译与解释理论
68甲15 编程语言理论
第68页第19页 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] GCC 4.5版本系列更改、新功能和修复。http://gcc.gnu.org/gcc-4.5/changes.html
[2] BCEL公司。http://jakarta.apache.org/bcel
[3] 澳大利亚中央银行。http://research.msrg.utoronto.ca/ACC
[4] Adams B,Herzeel C,Gybels K(2008)cHALO,C中的状态方面。in:ACP4IS'08:2008年AOSD基础设施软件方面、组件和模式研讨会会议记录,美国纽约州纽约市ACM,纽约,第1-6页
[5] Allan C、Avgustinov P、Christensen AS、Hendren L、Kuzins S、Lhoták O、de Moor O、Sereni D、Sittamplan G、Tibble J(2005)《将自由变量的跟踪匹配添加到AspectJ》。收录:第20届ACM SIGPLAN面向对象编程、系统、语言和应用会议论文集(OOPSLA’05)。纽约ACM出版社
[6] 阿拉克内。www.emn.fr/x-info/arachne
[7] 阿斯匹塞。http://sailhome.cs.queensu.ca/\(\sim\)bram/aspicere
[8] Avgustinov P,Christensen AS,Hendren L,Kuzins S,Lhoták J,Lhoták O,de Moor O,Sereni D,Sittampalam G,Tibble J(2005)Abc:一个可扩展的AspectJ编译器。摘自:第四届面向方面软件开发国际会议记录。纽约ACM出版社·Zbl 1165.68356号
[9] Bodden E,Havelund K(2008)《赛车:使用AspectJ进行有效的赛车检测》。摘自:ACM/SIGSOFT软件测试与分析国际研讨会(ISSTA)会议记录。ACM,纽约,第155-165页
[10] Callanan S,Dean DJ,Zadok E(2007)使用模块化GIMPLE优化扩展GCC。摘自:2007年海湾合作委员会开发商峰会会议记录,加拿大渥太华,7月,第31-37页
[11] Chen F,Rošu G(2007)MOP:一种高效通用的运行时验证框架。摘自:第22届ACM SIGPLAN面向对象编程、系统、语言和应用年会论文集(OOPSLA’07)
[12] Chiba S(1995)C++的元对象协议。摘自:ACM面向对象编程系统、语言和应用会议记录,10月,第285-299页
[13] Chiba S(2000)Java中的加载时结构反射。摘自:第14届欧洲面向对象编程会议记录。LNCS,第1850卷。柏林施普林格,第313–336页
[14] Coady Y、Kiczales G、Feeley M、Smolyn G(2001)使用AspectC改进操作系统代码中特定路径定制的模块化。摘自:第九届ACM SIGSOFT软件工程基础研讨会论文集,第88–98页
[15] Douence R、Fritz T、Loriant N、Menaud J-M、Ségura-Devillechaise M、Südholt M(2005)《使用Arachne进行系统应用的表达方面语言》。摘自:第四届面向方面软件开发国际会议(AOSD)会议记录。纽约ACM出版社·Zbl 1165.68359号
[16] Eclipse Foundation T AspectJ。www.eclipse.org/aspectj
[17] Fei L,Midkiff SP(2005)Artemis:应用程序错误的实际运行时监控。普渡大学电气与计算机工程技术代表TR-ECE-05-02。文档库.purdue.edu/ecetr/4/
[18] AT&T研究实验室。Graphviz,2009年。网址:www.graphviz.org
[19] Huang X、Seyster J、Callanan S、Dixit K、Grosu R、Smolka SA、Stoller SD、Zadok E(2012)《可控开销的软件监控》。Int J Softw Tools技术转换14(3):327–347·doi:10.1007/s10009-010-0184-4
[20] 互方面。www.fsl.cs.stonybrook.edu/interaspect网站
[21] Kiczales G、Hilsdale E、Hugunin J、Kersten M、Palm J、Griswold WG(2001)《AspectJ概述》。摘自:第15届欧洲面向对象编程会议记录。LNCS,第2072卷,第327–355页·Zbl 0982.68552号
[22] Kneschke J(2009)Lighttpd。网址:www.lighttpd.net/
[23] Meredith PO、Jin D、Griffith D、Chen F、Rošu G(2011)《MOP运行时验证框架概述》。《国际软技术技术转移杂志》即将出版
[24] Necula GC、McPeak S、Rahul SP、Weimer W(2002)CIL:C程序分析和转换的中间语言和工具。摘自:第十一届编译器构造国际会议论文集。柏林施普林格,第213-228页·Zbl 1051.68756号
[25] Nicola A、Alonso G、Roscoe T(2008)运行Java程序的受控、系统和高效代码替换。In:ACM EuroSys会议记录,英国苏格兰格拉斯哥,4月
[26] 目标凸轮。http://caml.inia.fr/index.en.html
[27] Poskanzer J(2006)http_load。http://www.acme.com/software/http_load/
[28] Rohlik O,Pasetti A,Cechticky V,Birrer I(2004)通过面向方面编程实现嵌入式软件的适应性。IEEE Mechatron机器人85–90
[29] Seyster J、Dixit K、Huang X、Grosu R、Havelund K、Smolka SA、Stoller SD、Zadok E(2010)GCC面向方面的仪器。In:程序。第1届运行时验证国际会议(RV),11月。计算机科学课堂讲稿。柏林施普林格·Zbl 1284.68153号
[30] Spinczyk O,Lohmann D(2007)AspectC++的设计与实现。基于知识的系统20(7):636–651·doi:10.1016/j.knosys.2007.05.004
[31] 瓦尔格林德。http://valgrind.org
[32] Walker R,Viggers K(2004)通过声明性事件模式实现协议。收件人:Taylor R,Dwyer M(编辑)ACM Sigsoft第12届软件工程基础国际研讨会(FSE-12)。纽约ACM出版社,第159-169页
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。