Example similarity map    Similar Patents and Articles Toggle Patent Map

Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

Research in the design of aspect-oriented programming languages requires a workbench that facilitates easy experimentation with new language features and implementation techniques. In particular, new features for AspectJ have been proposed that require extensions in many dimensions: syntax, type checking and code generation, as well as data flow and control flow analyses.The AspectBench Compiler (abc) is an implementation of such a workbench. The base version of abc implements the full AspectJ language. Its frontend is built, using the Polyglot framework, as a modular extension of the Java language. The use of Polyglot gives flexibility of syntax and type checking. The backend is built using the Soot framework, to give modular code generation and analyses.In this paper, we outline the design of abc, focusing mostly on how the design supports extensibility. We then provide a general overview of how to use abc to implement an extension. Finally, we illustrate the extension mechanisms of abc through a number of small, but non-trivial, examples. abc is freely available under the GNU LGPL.

top of pageAUTHORS



Author image not provided  Pavel Avgustinov

 Semmle
 pavelatsemmle.com
Bibliometrics: publication history
Publication years2005-2008
Publication count19
Citation Count575
Available for download14
Downloads (6 Weeks)9
Downloads (12 Months)118
Downloads (cumulative)7,134
Average downloads per article509.57
Average citations per article30.26
View colleagues of Pavel Avgustinov


Author image not provided  Aske Simon Christensen

No contact information provided yet.

Bibliometrics: publication history
Publication years2003-2006
Publication count8
Citation Count604
Available for download5
Downloads (6 Weeks)4
Downloads (12 Months)38
Downloads (cumulative)4,932
Average downloads per article986.40
Average citations per article75.50
View colleagues of Aske Simon Christensen


Laurie Hendren Laurie Hendren

http://www.sable.mcgill.ca/~hendren
hendrenatcs.mcgill.ca
Bibliometrics: publication history
Publication years1987-2017
Publication count122
Citation Count3,229
Available for download59
Downloads (6 Weeks)124
Downloads (12 Months)989
Downloads (cumulative)30,149
Average downloads per article511.00
Average citations per article26.47
View colleagues of Laurie Hendren


Author image not provided  Sascha Kuzins

No contact information provided yet.

Bibliometrics: publication history
Publication years2005-2006
Publication count6
Citation Count409
Available for download4
Downloads (6 Weeks)2
Downloads (12 Months)29
Downloads (cumulative)2,721
Average downloads per article680.25
Average citations per article68.17
View colleagues of Sascha Kuzins


Author image not provided  Jennifer Lhoták

No contact information provided yet.

Bibliometrics: publication history
Publication years2004-2006
Publication count7
Citation Count219
Available for download3
Downloads (6 Weeks)2
Downloads (12 Months)11
Downloads (cumulative)1,793
Average downloads per article597.67
Average citations per article31.29
View colleagues of Jennifer Lhoták


Author image not provided  Ondřej Lhoták

 homepage
 olhotakatuwaterloo.ca
Bibliometrics: publication history
Publication years1999-2017
Publication count60
Citation Count1,281
Available for download34
Downloads (6 Weeks)125
Downloads (12 Months)1,445
Downloads (cumulative)16,007
Average downloads per article470.79
Average citations per article21.35
View colleagues of Ondřej Lhoták


Author image not provided  Oege de Moor

 homepage
 oegeatcomlab.ox.ac.uk
Bibliometrics: publication history
Publication years1991-2015
Publication count63
Citation Count1,413
Available for download29
Downloads (6 Weeks)37
Downloads (12 Months)364
Downloads (cumulative)15,989
Average downloads per article551.34
Average citations per article22.43
View colleagues of Oege de Moor


Author image not provided  Damien Sereni

No contact information provided yet.

Bibliometrics: publication history
Publication years2003-2008
Publication count18
Citation Count541
Available for download11
Downloads (6 Weeks)9
Downloads (12 Months)94
Downloads (cumulative)7,036
Average downloads per article639.64
Average citations per article30.06
View colleagues of Damien Sereni


Author image not provided  Ganesh Sittampalam

No contact information provided yet.

Bibliometrics: publication history
Publication years1999-2008
Publication count14
Citation Count478
Available for download10
Downloads (6 Weeks)2
Downloads (12 Months)52
Downloads (cumulative)6,141
Average downloads per article614.10
Average citations per article34.14
View colleagues of Ganesh Sittampalam


Author image not provided  Julian Tibble

No contact information provided yet.

Bibliometrics: publication history
Publication years2005-2008
Publication count16
Citation Count523
Available for download11
Downloads (6 Weeks)2
Downloads (12 Months)58
Downloads (cumulative)5,519
Average downloads per article501.73
Average citations per article32.69
View colleagues of Julian Tibble

top of pageREFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
abc. The AspectBench Compiler. Home page with downloads, FAQ, documentation, support mailing lists, and bug database. http://aspectbench.org.]]
 
2
Jonathan Aldrich. Open modules: A proposal for modular reasoning in aspect-oriented programming. Technical Report CMU-ISRI-04-108, Institute for Software Research, Carnegie Mellon University, 2004.]]
 
3
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. Building the abc AspectJ compiler with Polyglot and Soot. Technical Report abc-2004-4, aspectbench.org, 2004.]]
 
4
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. Optimising AspectJ. Technical Report abc-2004-3, aspectbench.org, 2004.]]
 
5
Michael Brukman and Andrew C. Myers. PPG: a parser generator for extensible grammars, 2003. Available at www.cs.cornell.edu/Projects/polyglot/ppg.html.]]
6
 
7
8
 
9
10
 
11
Chris Dutchyn, Gregor Kiczales, and Hidehiko Masuhara. Tutorial: AOP language exploration using the Aspect Sand Box. In 1st International Conference on AOSD, 2002.]]
 
12
Michael Eichberg, Mira Mezini, and Klaus Ostermann. Pointcuts as functional queries. In Second ASIAN Symposium on Programming Languages and Systems (APLAS 2004), Springer Lecture Notes in Computer Science, 2004.]]
 
13
14
15
 
16
17
 
18
Jim Hugunin. Guide for developers of the AspectJ compiler and weaver, 2004. Available at http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/developer/compiler-weaver/index.html? rev=1.1&content-type=text/html&cvsroot=Technology_Project.]]
 
19
Gregor Kiczales. The fun has just begun. Keynote address at AOSD. Available at aosd.net/archive/2003/kiczales-aosd-2003.ppt, 2003.]]
20
 
21
Hidehiko Masuhara and Kazunori Kawauchi. Dataflow pointcut in aspect-oriented programming. In 1st Asian Symposium on Programming Languages and Systems, volume 2895 of LNCS, pages 105--121, 2003.]]
 
22
 
23
24
25
 
26
 
27
Kris De Volder. The TyRuBa metaprogramming system. Available at http://tyruba.sourceforge.net/.]]
28

top of pageCITED BY

130 Citations

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

top of pageINDEX TERMS

Index Terms are not available

top of pagePUBLICATION

Title AOSD '05 Proceedings of the 4th international conference on Aspect-oriented software development table of contents
General Chairs Mira Mezini Darmstadt University of Technology, Germany
Program Chairs Peri Tarr IBM Thomas J. Watson Research Center, USA
Pages 87-98
Publication Date2005-03-14 (yyyy-mm-dd)
Sponsors AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
AOSA Aspect-Oriented Software Association, Inc
BEA Systems, Inc.
IBMR IBM Research
Illinois Institute of Technology
Oracle Corporation
Siemens AG, CT SE 2
TheServerSide.COM
PublisherACM New York, NY, USA ©2005
ISBN: 1-59593-042-6 doi>10.1145/1052898.1052906
Conference MODULARITYModularity (formerly known as Aspect-oriented Software Development - AOSD) MODULARITY logo
Overall Acceptance Rate 178 of 718 submissions, 25%
Year Submitted Accepted Rate
AOSD '06 96 23 24%
AOSD '07 107 19 18%
AOSD '08 79 17 22%
AOSD '09 86 19 22%
AOSD '10 62 18 29%
AOSD '11 95 23 24%
AOSD '12 79 20 25%
AOSD '13 54 18 33%
MODULARITY '14 60 21 35%
Overall 718 178 25%

top of pageREVIEWS


Reviews are not available for this item
Computing Reviews logo

top of pageCOMMENTS

Be the first to comment To Post a comment please sign in or create a free Web account

top of pageTable of Contents

Proceedings of the 4th international conference on Aspect-oriented software development
Table of Contents
Modularizing design patterns with aspects: a quantitative study
Alessandro Garcia, Cláudio Sant'Anna, Eduardo Figueiredo, Uirá Kulesza, Carlos Lucena, Arndt von Staa
Pages: 3-14
doi>10.1145/1052898.1052899
Full text: PDFPDF

Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize ...
expand
An analysis of modularity in aspect oriented design
Cristina Videira Lopes, Sushil Krishna Bajracharya
Pages: 15-26
doi>10.1145/1052898.1052900
Full text: PDFPDF

We present an analysis of modularity in aspect oriented design using the theory of modular design developed by Baldwin and Clark [10]. We use the three major elements of that theory, namely: i) Design Structure Matrix (DSM), an analysis and modeling ...
expand
An expressive aspect language for system applications with Arachne
Rémi Douence, Thomas Fritz, Nicolas Loriant, Jean-Marc Menaud, Marc Ségura-Devillechaise, Mario Südholt
Pages: 27-38
doi>10.1145/1052898.1052901
Full text: PDFPDF

C applications, in particular those using operating system level services, frequently comprise multiple crosscutting concerns: network protocols and security are typical examples of such concerns. While these concerns can partially be addressed during ...
expand
Empowering configurable QoS management in real-time systems
Aleksandra Tesanovic, Mehdi Amirijoo, Mikael Björk, Jörgen Hansson
Pages: 39-50
doi>10.1145/1052898.1052902
Full text: PDFPDF

Current Quality of Service (QoS) management methods in real-time systems using feedback control loop lack support for configurability and reusability as they cannot be configured for a target application or reused across different applications. In this ...
expand
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Michael Engel, Bernd Freisleben
Pages: 51-62
doi>10.1145/1052898.1052903
Full text: PDFPDF

To master the complexity of software systems in the presence of unexpected events potentially affecting system operation, the Autonomic Computing Initiative [16] aims to build systems that have the ability to control and organize themselves to ...
expand
Towards just-in-time middleware architectures
Charles Zhang, Dapeng Gao, Hans-Arno Jacobsen
Pages: 63-74
doi>10.1145/1052898.1052904
Full text: PDFPDF

Middleware becomes increasingly important in building distributed applications. Today, conventional middleware systems are designed, implemented, and packaged prior to their applications. We argue that with this middleware construction paradigm it is ...
expand
Adaptive programming in JAsCo
Wim Vanderperren, Davy Suvée, Bart Verheecke, María Agustina Cibrán, Viviane Jonckers
Pages: 75-86
doi>10.1145/1052898.1052905
Full text: PDFPDF

In this paper we propose an extension to JAsCo for supporting Adaptive Programming in a Component-Based Software Development context. JAsCo is an aspect-oriented programming language targeted at Component-Based Software Development and allows encapsulating ...
expand
abc: an extensible AspectJ compiler
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondřej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble
Pages: 87-98
doi>10.1145/1052898.1052906
Full text: PDFPDF

Research in the design of aspect-oriented programming languages requires a workbench that facilitates easy experimentation with new language features and implementation techniques. In particular, new features for AspectJ have been proposed that require ...
expand
What does aspect-oriented programming mean to Cobol?
Ralf Lämmel, Kris De Schutter
Pages: 99-110
doi>10.1145/1052898.1052907
Full text: PDFPDF

We study AOP in the context of business programming with Cobol. We face the following questions: What are join points in Cobol programs? What is advice? Does classic Cobol provide any constructs that hint at AOP? (Yes!) What are typical crosscutting ...
expand
Towards a catalog of aspect-oriented refactorings
Miguel P. Monteiro, João M. Fernandes
Pages: 111-122
doi>10.1145/1052898.1052908
Full text: PDFPDF

In this paper, we present a collection of aspect-oriented refactorings covering both the extraction of aspects from object-oriented legacy code and the subsequent tidying up of the resulting aspects. In some cases, this tidying up entails the replacement ...
expand
Deriving refactorings for AspectJ
Leonardo Cole, Paulo Borba
Pages: 123-134
doi>10.1145/1052898.1052909
Full text: PDFPDF

In this paper we present aspect-oriented programming laws that are useful for deriving refactorings for AspectJ. The laws help developers to verify if the transformations they define preserve behaviour. We illustrate that by deriving several AspectJ ...
expand
Role-based refactoring of crosscutting concerns
Jan Hannemann, Gail C. Murphy, Gregor Kiczales
Pages: 135-146
doi>10.1145/1052898.1052910
Full text: PDFPDF

Improving the structure of code can help developers work with a software system more efficiently and more consistently. To aid developers in re-structuring the implementation of crosscutting concerns using aspect-oriented programming, we introduce a ...
expand
Weaving a social fabric into existing software
Li-Te Cheng, John Patterson, Steven L. Rohall, Susanne Hupfer, Steven Ross
Pages: 147-158
doi>10.1145/1052898.1052911
Full text: PDFPDF

Contextual collaboration is a promising approach to embedding new collaborative features into existing applications. However, incorporating such new features may be too difficult for applications without extensible frameworks or too complex for legacy, ...
expand
Mylar: a degree-of-interest model for IDEs
Mik Kersten, Gail C. Murphy
Pages: 159-168
doi>10.1145/1052898.1052912
Full text: PDFPDF

Even when working on a well-modularized software system, programmers tend to spend more time navigating the code than working with it. This phenomenon arises because it is impossible to modularize the code for all tasks that occur over the lifetime of ...
expand
Crosscutting techniques in program specification and analysis
Patrick Lam, Viktor Kuncak, Martin Rinard
Pages: 169-180
doi>10.1145/1052898.1052913
Full text: PDFPDF

We present three aspect-oriented constructs (formats, scopes, and defaults) that, in combination with a specification language based on abstract sets of objects, enable the modular application of multiple arbitrarily precise (and therefore ...
expand
Aspect language features for concern coverage profiling
Hridesh Rajan, Kevin Sullivan
Pages: 181-191
doi>10.1145/1052898.1052914
Full text: PDFPDF

In program profiling to assess test set adequacy, a challenge is to select code to be included in the assessment. Current mechanisms are coarse-grained; biased to dominant modularizations; require tedious, error-prone manual selection; and leave tester ...
expand
Distributing classes with woven concerns: an exploration of potential fault scenarios
Nathan McEachen, Roger T. Alexander
Pages: 192-200
doi>10.1145/1052898.1052915
Full text: PDFPDF

Aspect-oriented programming (AOP) promises to benefit software engineering by providing a layer of abstraction that can modularize system-level concerns. AOP is still a very young area of research and has yet to receive mainstream acceptance in industry. ...
expand

Powered by The ACM Guide to Computing Literature


The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2019 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us