MAJOR: rapid tool development with aspect-oriented programming

A. Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni
{"title":"MAJOR: rapid tool development with aspect-oriented programming","authors":"A. Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni","doi":"10.1145/1596655.1596675","DOIUrl":null,"url":null,"abstract":"The use of low-level techniques, such as bytecode instrumentation to develop tools for profiling, debugging, testing, and reverse engineering is error-prone, time-consuming, and therefore costly. As a solution to these problems, we promote high-level aspect-oriented programming for rapid tool development so as to hide low-level instrumentation details from the developer. We show that our aspect-based approach yields concise tools that are easy to develop and extend, hence reducing development and testing costs. As enabling technology, we rely on MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all methods executing in a Java Virtual Machine (after an initial bootstrapping phase), including methods in the standard Java class library. MAJOR also supports efficient access to a complete and customizable calling context representation thanks to the pluggable module CARAJillo. Both comprehensive aspect weaving and efficient access to calling context information are of paramount importance in the aforementioned domains.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"35 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1596655.1596675","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

The use of low-level techniques, such as bytecode instrumentation to develop tools for profiling, debugging, testing, and reverse engineering is error-prone, time-consuming, and therefore costly. As a solution to these problems, we promote high-level aspect-oriented programming for rapid tool development so as to hide low-level instrumentation details from the developer. We show that our aspect-based approach yields concise tools that are easy to develop and extend, hence reducing development and testing costs. As enabling technology, we rely on MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all methods executing in a Java Virtual Machine (after an initial bootstrapping phase), including methods in the standard Java class library. MAJOR also supports efficient access to a complete and customizable calling context representation thanks to the pluggable module CARAJillo. Both comprehensive aspect weaving and efficient access to calling context information are of paramount importance in the aforementioned domains.
专业:基于面向方面编程的快速工具开发
使用低级技术,如字节码检测来开发用于分析、调试、测试和逆向工程的工具,容易出错,耗时,因此代价高昂。作为这些问题的解决方案,我们促进高级面向方面的编程,用于快速的工具开发,从而对开发人员隐藏低级的工具细节。我们展示了基于方面的方法产生了易于开发和扩展的简明工具,从而减少了开发和测试成本。作为启用技术,我们依赖于MAJOR,这是一种用于全面方面编织的新工具,它确保将方面编织到Java虚拟机(在初始引导阶段之后)中执行的所有方法中,包括标准Java类库中的方法。由于可插拔模块CARAJillo, MAJOR还支持对完整的、可定制的调用上下文表示的有效访问。在上述领域中,全面的方面编织和对调用上下文信息的有效访问至关重要。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信