Example similarity map    Similar Patents and Articles Toggle Patent Map

Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

In standard AspectJ, aspects and base code are often insufficiently decoupled, as aspects hold pointcuts, which can contain explicit textual references to base code. This hinders aspect evolution and reuse, and may hinder reasoning about aspects on the base-code side. In this demo we present join point interfaces as an extension to the aspect-oriented programming language AspectJ. Opposed to AspectJ, with join point interfaces aspects and base code communicate only through a shared interface abstraction. Aspects themselves go without pointcuts and only reference the interface. Pointcuts are typically defined on the base-code side, or not at all, as join point interfaces also support pure explicit invocation as known from publish-subscribe systems. As a result, users obtain a language which decouples aspects from base code using a modular type-checking algorithm, and which they can use to adopt aspects gradually as they desire.

One major undertaking in the design of join point interfaces was to make the language as flexible to use as standard AspectJ, while nevertheless providing interfaces supported by strong type checks that can completely avoid type errors at composition time. In this demo we will discuss this inherent trade-off, we will present JPIs as an extension to the AspectBench Compiler, and will show how the language eases the maintenance of existing AspectJ applications.

top of pageAUTHORS



Eric Bodden Eric Bodden

Personal webpage
boddenatacm.org
Bibliometrics: publication history
Publication years2003-2017
Publication count81
Citation Count1,302
Available for download46
Downloads (6 Weeks)419
Downloads (12 Months)2,883
Downloads (cumulative)16,320
Average downloads per article354.78
Average citations per article16.07
View colleagues of Eric Bodden


Author image not provided  Eric Tanter

 homepage
 etanteratdcc.uchile.cl
Bibliometrics: publication history
Publication years2001-2017
Publication count86
Citation Count824
Available for download53
Downloads (6 Weeks)201
Downloads (12 Months)1,358
Downloads (cumulative)13,748
Average downloads per article259.40
Average citations per article9.58
View colleagues of Eric Tanter


Author image not provided  Milton Inostroza

No contact information provided yet.

Bibliometrics: publication history
Publication years2011-2014
Publication count3
Citation Count27
Available for download3
Downloads (6 Weeks)3
Downloads (12 Months)27
Downloads (cumulative)509
Average downloads per article169.67
Average citations per article9.00
View colleagues of Milton Inostroza

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
 
2
Eric Bodden, Éric Tanter, and Milton Inostroza. Join point interfaces for safe and flexible decoupling of aspects. ACM Transactions on Software Engineering and Methodology (TOSEM), 2013. To appear.
3
4
 
5
6
 
7

top of pageCITED BY

top of pageINDEX TERMS

The ACM Computing Classification System (CCS rev.2012)

Note: Larger/Darker text within each node indicates a higher relevance of the materials to the taxonomic classification.

top of pagePUBLICATION

Title AOSD '13 Companion Proceedings of the 12th annual international conference companion on Aspect-oriented software development table of contents
General Chairs Hidehiko Masuhara The University of Tokyo, Japan
Program Chairs Shigeru Chiba The University of Tokyo, Japan
Naoyasu Ubayashi Kyushu University, Japan
Pages 19-22
Publication Date2013-03-24 (yyyy-mm-dd)
Sponsors AOSA Aspect-Oriented Software Association
In-Cooperations SIGPLAN ACM Special Interest Group on Programming Languages
SIGSOFT ACM Special Interest Group on Software Engineering
PublisherACM New York, NY, USA ©2013
ISBN: 978-1-4503-1873-0 doi>10.1145/2457392.2457401
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 12th annual international conference companion on Aspect-oriented software development
Table of Contents
SESSION: Keynote address 2
Modularity in the context of product line variability
Kyo Chul Kang
Pages: 3-4
doi>10.1145/2457392.2457394
Full text: PDFPDF

Product line software engineering (PLSE) has been recognized as a key software development paradigm for meeting diverse needs of the global market efficiently and effectively giving competitive advantages to IT industries and embedded systems developers. ...
expand
SESSION: Keynote address 3
Motherhood and apple pie: modularity in modern applications and tools to support it
Steven P. Reiss
Pages: 5-6
doi>10.1145/2457392.2457396
Full text: PDFPDF

Modularity has been around for a long time. Good designers attempt to make use of it as much as possible. Languages have been developed to support it. Language extensions have attempted to deal with the situations where languages themselves fail. Tools ...
expand
DEMONSTRATION SESSION: Demos
Efficient language implementation with ALIA4J and EMFText: forum demonstration
Christoph Bockisch, Andreas Sewe
Pages: 7-10
doi>10.1145/2457392.2457398
Full text: PDFPDF

Developing extensions to general-purpose langauges or domain-specific languages with support for new kinds of abstractions is an ongoing trend. Modern language workbenches, such as EMFText of Xtext, support this trend and facilitate implementing langauges ...
expand
Method differentiator using slice-based cohesion metrics
Akira Goto, Norihiro Yoshida, Masakazu Ioka, Eunjong Choi, Katsuro Inoue
Pages: 11-14
doi>10.1145/2457392.2457399
Full text: PDFPDF

It is important to understand semantic differences between a pair of Java methods during maintenance. However, textual or syntactic difference is insufficient to give clear idea which code fragment realizes a single functionality in Java methods. In ...
expand
ENdoSnipe: an industrial application of AOP for diagnosing Java systems
Yusuke Ochiai
Pages: 15-18
doi>10.1145/2457392.2457400
Full text: PDFPDF

In this session, we introduce an application of Javassist technology for commercial purposes. The Java troubleshooting tool "ENdoSnipe", developed by Acroquest Technology, realizes noninvasive diagnosis looking into the internal behavior of the applied ...
expand
A brief tour of join point interfaces
Eric Bodden, Eric Tanter, Milton Inostroza
Pages: 19-22
doi>10.1145/2457392.2457401
Full text: PDFPDF

In standard AspectJ, aspects and base code are often insufficiently decoupled, as aspects hold pointcuts, which can contain explicit textual references to base code. This hinders aspect evolution and reuse, and may hinder reasoning about aspects on the ...
expand
Reusing software design models with TouchRAM
Jörg Kienzle
Pages: 23-26
doi>10.1145/2457392.2457402
Full text: PDFPDF

TouchRAM is a multitouch-enabled tool for agile software design modelling aimed at developing scalable and reusable software design models. This paper briefly summarizes the main features of the Reusable Aspect Models modelling approach that TouchRAM ...
expand
SESSION: Student research competition
Towards control of aspect interference using membranes and monads
Ismael Figueroa
Pages: 27-28
doi>10.1145/2457392.2457404
Full text: PDFPDF
A graphical tool for observing state and behavioral changes at join points
Haihan Yin
Pages: 29-30
doi>10.1145/2457392.2457405
Full text: PDFPDF

To comprehend programs or to fix a bug, programmers always mentally simulate the program execution by reading the source code. Aspect-oriented programming (AOP) increases this mental effort, because it can alter the state and the behavior of the base ...
expand
Comparison of instrumentation techniques for dynamic program analysis on the Java virtual machine
Aibek Sarimbekov
Pages: 31-32
doi>10.1145/2457392.2457406
Full text: PDFPDF

Dynamic Program Analysis (DPA) tools commonly rely on bytecode instrumentation which is done by means of low-level bytecode manipulation libraries. While providing a lot of flexibility and expressiveness to developers, using those libraries is usually ...
expand
User-friendly event and aspect verification
Cynthia Disenfeld
Pages: 33-34
doi>10.1145/2457392.2457407
Full text: PDFPDF
A framework for analyzing and transforming source code supporting multiple programming languages
Kazunori Sakamoto
Pages: 35-36
doi>10.1145/2457392.2457408
Full text: PDFPDF

We propose a framework for processing source code supporting multiple programming languages, named UNICOEN. UNICOEN reduces development costs and differences between tool implementations. We evaluated UNICOEN by developing a tool which supports 7 programming ...
expand
Modular construction of an analysis tool for mining software repositories
Kazuhiro Yamashita
Pages: 37-38
doi>10.1145/2457392.2457409
Full text: PDFPDF

In this paper, we propose an analysis tool for mining software repository (MSR) called E-CUBE, which corresponds to three types of evolution in MSR (i.e., Platform Evolution, Target Evolution and Scale Evolution). To encapsulate the essence of these ...
expand
Method shells: controlling a scope of destructive class extensions by context switches
Wakana Takeshita
Pages: 39-40
doi>10.1145/2457392.2457410
Full text: PDFPDF

We propose Method Shells, which is a module system for switching a set of destructive class extensions at runtime. Destructive class extensions are getting popular and supported by a number of languages. By using destructive class extensions, ...
expand
Powerful and seamless syntax extensions on a statically typed language
Kazuhiro Ichikawa
Pages: 41-42
doi>10.1145/2457392.2457411
Full text: PDFPDF

In this paper, we propose a mechanism of user-defined operators with better expressiveness while keeping composability. Our user-defined operators, named protean operators, can express arbitrary Parsing Expression Grammar (PEG) syntax, and they can also ...
expand
Rewriting javascript module system
Junhee Cho
Pages: 43-44
doi>10.1145/2457392.2457412
Full text: PDFPDF

Although JavaScript is one of the major languages used for web and other general applications, it does not have a language-level module system. Lack of module system causes name conflicts when programmer uses libraries. We introduce a JavaScript module ...
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