Example similarity map    Similar Patents and Articles Toggle Patent Map

Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

In this paper, we present algorithms that compute two kinds of information that can help AspectJ developers diagnose and fix potential problems with their pointcuts. First, we present an algorithm to compute almost matched joinpoints. Second, we present algorithms to compute explanations of why a pointcut does not match (or does match) a specific joinpoint. We implemented two tools using these algorithms. The first is an offline tool that analyzes a code base and produces a comprehensive report about the pointcuts in the code. Using this tool, we were able to find several real problems in existing, medium-sized AspectJ code bases. The second tool is an Eclipse plug-in called PointcutDoctor. PointcutDoctor is a natural extension of AJDT that provides developers easy access to the same information from within their already familiar development environment.

top of pageAUTHORS



Author image not provided  Lingdong Ye

No contact information provided yet.

Bibliometrics: publication history
Publication years2008-2008
Publication count1
Citation Count5
Available for download1
Downloads (6 Weeks)0
Downloads (12 Months)1
Downloads (cumulative)251
Average downloads per article251.00
Average citations per article5.00
View colleagues of Lingdong Ye


Author image not provided  Kris De Volder

No contact information provided yet.

Bibliometrics: publication history
Publication years1997-2008
Publication count19
Citation Count433
Available for download12
Downloads (6 Weeks)23
Downloads (12 Months)162
Downloads (cumulative)8,162
Average downloads per article680.17
Average citations per article22.79
View colleagues of Kris De Volder

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
Aspectj users mailing list archive. http://dev.eclipse.org/mhonarc/lists/aspectjusers/maillist.html.
 
2
Ibm developerworks: [email protected] http://www128.ibm.com/developerworks/views/java/libraryview.jsp?search [email protected]
3
 
4
 
5
 
6
J. Collins-Unruh and G. Murphy. Aspect-oriented jedit. unpublished.
 
7
8
 
9
 
10
C. Koppen and M. Störzer. PCDiff: Attacking the fragile pointcut problem. In K. Gybels, S. Hanenberg, S. Herrmann, and J. Wloka, editors, European Interactive Workshop on Aspects in Software (EIWAS), September 2004.
 
11
 
12
 
13
 
14
J. Palm, P. Wu, and K. Lieberherr. Understanding aspects through call graph enumeration and pointcut satisfiability. Technical Report NU-CCIS-04-01, College of Computer and Information Science, Northeastern University, Boston, MA 02115, 2004.
15
 
16
 
17
L. Ye. Tool support for understanding and diagnosing pointcut expressions. Master's thesis, University of British Columbia, 2007.
18

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 '08 Proceedings of the 7th international conference on Aspect-oriented software development table of contents
Conference Chair Theo D'Hondt Vrije Universiteit Brussel, Belgium
Pages 144-155
Publication Date2008-03-31 (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 ©2008
ISBN: 978-1-60558-044-9 doi>10.1145/1353482.1353500
Conference MODULARITYModularity (formerly known as Aspect-oriented Software Development - AOSD) MODULARITY logo
Paper Acceptance Rate 17 of 79 submissions, 22%
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 7th international conference on Aspect-oriented software development
Table of Contents
SESSION: Aspects and generative programming
AspectT: aspect-oriented test case instantiation
Sebastian Benz
Pages: 1-12
doi>10.1145/1353482.1353484
Full text: PDFPDF

Test case instantiation is the transformation of abstract test cases into executable test scripts. Abstract test cases are either created during model based test case generation or are manually defined in a suitable modeling notation. The transformation ...
expand
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Eli Tilevich, Godmar Back
Pages: 13-24
doi>10.1145/1353482.1353485
Full text: PDFPDF

Program enhancement refers to adding new functionality to an existing program. We argue that repetitive program enhancement tasks can be expressed as patterns, and that the application of such enhancement patterns can be automated. This paper presents ...
expand
Modularity first: a case for mixing AOP and attribute grammars
Pavel Avgustinov, Torbjörn Ekman, Julian Tibble
Pages: 25-35
doi>10.1145/1353482.1353486
Full text: PDFPDF

We have reimplemented the frontend of the extensible AspectBench Compiler for AspectJ, using the aspect-oriented meta-compiler JastAdd. The original frontend was purely object-oriented. Each frontend extends Java with AspectJ and an additional set of ...
expand
SESSION: Reasoning about aspects
AJANA: a general framework for source-code-level interprocedural dataflow analysis of AspectJ software
Guoqing Xu, Atanas Rountev
Pages: 36-47
doi>10.1145/1353482.1353488
Full text: PDFPDF

Aspect-oriented software presents new challenges for the designers of static analyses. Our work aims to establish systematic foundations for dataflow analysis of AspectJ software. We propose a control- and data-flow program representation for AspectJ ...
expand
Reasoning about aspects with common sense
Klaus Ostermann
Pages: 48-59
doi>10.1145/1353482.1353489
Full text: PDFPDF

There has been a lot of debate about the modularity of aspect-oriented programs, and in particular the ability to reason about such programs in a modular way, although it has never been defined precisely what modular reasoning means. This work analyzes ...
expand
SESSION: Programming language design and implementation I
StrongAspectJ: flexible and safe pointcut/advice bindings
Bruno De Fraine, Mario Südholt, Viviane Jonckers
Pages: 60-71
doi>10.1145/1353482.1353491
Full text: PDFPDF

AspectJ was designed as a seamless aspect-oriented extension of the Java programming language. However, unlike Java, AspectJ does not have a safe type system: an accepted binding between a pointcut and an advice can give rise to type errors at runtime. ...
expand
EJFlow: taming exceptional control flows in aspect-oriented programming
Nelio Cacho, Fernando Castor Filho, Alessandro Garcia, Eduardo Figueiredo
Pages: 72-83
doi>10.1145/1353482.1353492
Full text: PDFPDF

Many of the problems that stem from the use of exception handling are caused by the local way in which exceptions are handled. It demands that developers understand the source of an exception, the place where it is handled, and everything in between. ...
expand
Relational aspects as tracematches
Eric Bodden, Reehan Shaikh, Laurie Hendren
Pages: 84-95
doi>10.1145/1353482.1353493
Full text: PDFPDF

The relationships between objects in an object-oriented program are an essential property of the program's design and implementation. Two previous approaches to implement relationships with aspects were association aspects, an AspectJ-based language ...
expand
Test-based pointcuts for robust and fine-grained join point specification
Kouhei Sakurai, Hidehiko Masuhara
Pages: 96-107
doi>10.1145/1353482.1353494
Full text: PDFPDF

We propose test-based pointcuts, a novel pointcut mechanism for AspectJ-like aspect-oriented programming languages. The idea behind the test-based pointcuts is to specify join points through unit test cases associated with the target program. ...
expand
SESSION: Aspects for adaptation and variability support
Edicts: implementing features with flexible binding times
Venkat Chakravarthy, John Regehr, Eric Eide
Pages: 108-119
doi>10.1145/1353482.1353496
Full text: PDFPDF

In a software product line, the binding time of a feature is the time at which one decides to include or exclude a feature from a product. Typical binding site implementations are intended to support a single binding time only, e.g., compile time ...
expand
Support for distributed adaptations in aspect-oriented middleware
Eddy Truyen, Nico Janssens, Frans Sanen, Wouter Joosen
Pages: 120-131
doi>10.1145/1353482.1353497
Full text: PDFPDF

Many aspect-oriented middleware platforms support run-time aspect weaving, but do not support coordinating distributed changes to a set of aspects at run-time. A distributed change entails weaving or unweaving multiple inter-dependent aspects that are ...
expand
SESSION: Tool support
Tool-supported refactoring of aspect-oriented programs
Jan Wloka, Robert Hirschfeld, Joachim Hänsel
Pages: 132-143
doi>10.1145/1353482.1353499
Full text: PDFPDF

Aspect-oriented programming languages provide new composition mechanisms for improving the modularity of crosscutting concerns. Implementations of such language support use advanced program representations, like abstract syntax trees or stack traces, ...
expand
Tool support for understanding and diagnosing pointcut expressions
Lingdong Ye, Kris De Volder
Pages: 144-155
doi>10.1145/1353482.1353500
Full text: PDFPDF

In this paper, we present algorithms that compute two kinds of information that can help AspectJ developers diagnose and fix potential problems with their pointcuts. First, we present an algorithm to compute almost matched joinpoints. Second, we present ...
expand
View-based maintenance of graphical user interfaces
Peng Li, Eric Wohlstadter
Pages: 156-167
doi>10.1145/1353482.1353501
Full text: PDFPDF

One difficulty in software maintenance is that the relationship between observed program behavior and source code is not always clear. In this paper we are concerned specifically with the maintenance of graphical user interfaces (GUIs). User interface ...
expand
SESSION: Programming language design and implementation II
Expressive scoping of dynamically-deployed aspects
Éric Tanter
Pages: 168-179
doi>10.1145/1353482.1353503
Full text: PDFPDF

Several aspect languages and frameworks have recognized the need for dynamic deployment of aspects. However, they do not provide sufficiently expressive means to precisely specify the scope of deployed aspects. As a result, programmers have to resort ...
expand
Lightweight virtual machine support for AspectJ
Ryan M. Golbeck, Samuel Davis, Immad Naseer, Igor Ostrovsky, Gregor Kiczales
Pages: 180-190
doi>10.1145/1353482.1353504
Full text: PDFPDF

Advice weaving can be efficiently supported with only lightweight enhancements to existing Virtual Machines. Performing weaving at the Java bytecode (JBC) level while preserving appropriate metadata enables the VM to understand the AspectJ-specific semantics ...
expand
Nu: a dynamic aspect-oriented intermediate language model and virtual machine for flexible runtime adaptation
Robert Dyer, Hridesh Rajan
Pages: 191-202
doi>10.1145/1353482.1353505
Full text: PDFPDF

A variety of dynamic aspect-oriented language constructs are proposed in recent literature with corresponding, compelling use cases. Such constructs demonstrate the need to dynamically adapt the set of join points intercepted at a fine-grained level. ...
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