Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

The ability to debug programs composed using aspect-oriented programming (AOP) techniques is critical to the adoption of AOP. Nevertheless, many AOP systems lack adequate support for debugging, making it difficult to diagnose faults and understand the program's composition and control flow. We present an AOP debug model that characterizes AOP-specific program composition techniques and AOP-specific program behaviors, and relates them to the AOP-specific faults they induce. We specify debugging criteria that we feel all AOP systems should support and compare how several AOP systems measure up to this ideal.

We explain why AOP composition techniques, particularly dynamic and binary weaving, hinder source-level debugging, and how results from related research on debugging optimized code help solve the problem. We also present Wicca, the first dynamic AOP system to support full source-level debugging. We demonstrate how Wicca's powerful interactive debugging features allow a programmer to quickly diagnose faults in the base program behavior or AOP-specific behavior.

top of pageAUTHORS



Author image not provided  Marc Eaddy

No contact information provided yet.

Bibliometrics: publication history
Publication years2004-2008
Publication count7
Citation Count167
Available for download1
Downloads (6 Weeks)0
Downloads (12 Months)7
Downloads (cumulative)346
Average downloads per article346.00
Average citations per article23.86
View colleagues of Marc Eaddy


Author image not provided  Alfred Aho

No contact information provided yet.

Bibliometrics: publication history
Publication years1968-2015
Publication count70
Citation Count9,152
Available for download42
Downloads (6 Weeks)249
Downloads (12 Months)2,141
Downloads (cumulative)68,829
Average downloads per article1,638.79
Average citations per article130.74
View colleagues of Alfred Aho


Author image not provided  Weiping Hu

No contact information provided yet.

Bibliometrics: publication history
Publication years2007-2007
Publication count1
Citation Count17
Available for download0
Downloads (6 Weeks)0
Downloads (12 Months)0
Downloads (cumulative)0
Average downloads per article0.00
Average citations per article17.00
View colleagues of Weiping Hu


Author image not provided  Paddy McDonald

No contact information provided yet.

Bibliometrics: publication history
Publication years2007-2007
Publication count1
Citation Count17
Available for download0
Downloads (6 Weeks)0
Downloads (12 Months)0
Downloads (cumulative)0
Average downloads per article0.00
Average citations per article17.00
View colleagues of Paddy McDonald


Author image not provided  Julian Burger

No contact information provided yet.

Bibliometrics: publication history
Publication years2007-2007
Publication count1
Citation Count17
Available for download0
Downloads (6 Weeks)0
Downloads (12 Months)0
Downloads (cumulative)0
Average downloads per article0.00
Average citations per article17.00
View colleagues of Julian Burger

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
Alexander, R., Bieman, J.M., Andrews, A.: Towards the Systematic Testing of Aspect-Oriented Programs. Tech Rep CS-4-105. Dept. of CS, Colorado State Univ. (March 2004)
 
3
Aussmann, S., Haupt, M.: Axon - Dynamic AOP through Runtime Inspection and Monitoring. In: ASARTI 2003. Proc. of the Wkshp. on Advancing the State-of-the-Art in Run-time Inspection (July 2003)
4
 
5
6
 
7
Bonér, J.: AspectWerkz -- dynamic AOP for Java. In: AOSD 2004. Invited talk at Aspect-Oriented Software Development (March 2004)
 
8
Ceccato, M., Tonella, P., Ricca, F.: Is AOP code easier or harder to test than OOP code? In: WTAOP 2005. Proc. of the Wkshp. on Testing Aspect-Oriented Programs (March 2005)
9
 
10
Eaddy, M., Aho, A.: Statement Annotations for Fine-Grained Advising. In: RAM-SE 2006. Proc. of the Wkshp. on Reflection, AOP, and Meta-data for Software Evol. (July 2006)
 
11
Eaddy, M., Aho, A., Hu, W., McDonald, P., Burger, J.: Debugging Woven Code. Tech Rep. CUCS-035-06. Dept. of CS, Columbia Univ. (September 2006)
 
12
Eaddy, M., Feiner, S.: Multi-Language Edit-and-Continue for the Masses. Tech Rep CUCS-015-05. Dept. of CS, Columbia Univ. (April 2005)
13
 
14
 
15
Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA Wkshp. on Advanced Separation of Concerns (October 2000)
 
16
Grawehr, F.P., Alonso, G.: A Dynamic AOP-Engine for .NET. Tech Rep 445. Dept. of CS, ETH Zürich (March 2004)
 
17
 
18
Haupt, M., Mezini, M.: Micro-Measurements for Dynamic Aspect-Oriented Systems. In: Weske, M., Liggesmeyer, P. (eds.) NODe 2004. LNCS, vol. 3263, pp. 81-96. Springer, Heidelberg (2004)
19
20
21
 
22
23
 
24
Hugunin, J.: The next steps for aspect-oriented programming languages (in Java). In: Proc. of Wkshp. on New Visions for Software Design & Prod.: Research & Apps. (December 2001)
 
25
Jackson, A., Clarke, S.: SourceWeave.NET: Source-level cross-language aspect-oriented programming. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, Springer, Heidelberg (2004)
26
 
27
 
28
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. TR SPL97-008 P9710042, Xerox PARC (February 1997)
29
 
30
 
31
Nicoara, A., Alonso, G.: Dynamic AOP with PROSE. In: ASMEA 2005. Proc. of the Wkshp. on Adaptive and Self-Managing Enterprise Applications (June 2005)
 
32
33
 
34

top of pageCITED BY

17 Citations

 
 
 
 
 
 
 
 

top of pageINDEX TERMS

Index Terms are not available

top of pagePUBLICATION

Title SC'07 Proceedings of the 6th international conference on Software composition table of contents
Editors Markus Lumpe Swinburne University of Technology, Faculty of Information and Communication Technologies, Hawthorn, VIC, Australia
Wim Vanderperren Vrije Universiteit Brussel, System and Software Engineering Lab, ETRO, Brussel, Belgium
Pages 200-215
Publication Date2007-03-24 (yyyy-mm-dd)
Sponsors AOSD-Europe European Network of Excellent on Aspect-oriented Software Development
IBM Zurich
IFIP International Federation for Information Processing
Microsoft Research Microsoft Research
Vrije Universiteit Brussel Vrije Universiteit Brussel
PublisherSpringer-Verlag Berlin, Heidelberg ©2007
ISBN: 3-540-77350-9 978-3-540-77350-4

APPEARS IN
LNCS: Lecture Notes In Computer Science

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 6th international conference on Software composition
Table of Contents
SECTION: Invited talk
Composition by anonymous third parties
Farhad Arbab
Pages: 1-1
SECTION: Composition contracts
Defining component protocols with service composition: illustration with the Kmelia model
Pascal André, Gilles Ardourel, Christian Attiogbé
Pages: 2-17

We address in this article the description and usage of component protocols viewed as specific services. In addition to inter-component service composition, our Kmelia component model supports vertical structuring mechanisms that allow service composition ...
expand
Composite contract enforcement in hierarchical component systems
Philippe Collet, Jacques Malenfant, Alain Ozanne, Nicolas Rivierre
Pages: 18-33

Abadi and Lamport established a general theorem for composing specifications [1]. Based on an assume-guarantee principle, it enables one to prove the specification of a composite system from the ones of its components. But the general application of ...
expand
Towards a unifying theory for choreography conformance and contract compliance
Mario Bravetti, Gianluigi Zavattaro
Pages: 34-50

In the context of Service Oriented Computing, contracts are descriptions of the externally observable behaviour of services. Given a group of collaborating services, their contracts can be used to verify whether their composition is sound, i.e., the ...
expand
SECTION: Composition design and analysis
A process-algebraic approach to workflow specification and refinement
Peter Y. H. Wong, Jeremy Gibbons
Pages: 51-65

This paper describes a process-algebraic approach to specification and refinement of workflow processes. In particular, we model both specification and implementation of workflows as CSP processes. CSP's behavioural models and their respective refinement ...
expand
Generic feature-based software composition
Tijs Van Der Storm
Pages: 66-80

Bridging problem domain and solution in product line engineering is a time-consuming and error-prone process. Since both domains are structured differently (features vs. artifacts), there is no natural way to map one to the other. Using an explicit and ...
expand
Composition management interfaces for a predictable assembly
Xabier Aretxandieta, Goiuria Sagardui, Franck Barbier
Pages: 81-96

Software system construction based on the reuse of software components has to be done with flexibility enough to control the desired behavior of the resulting assemblies. Applications created by component composition usually depend on a strict method ...
expand
Path-based error propagation analysis in composition of software services
Vittorio Cortellessa, Pasqualina Potena
Pages: 97-112

In Service-Oriented Architectures (SOA) composed services provide functionalities with certain non-functional properties that depend on the properties of the basic services. Models that represent dependencies among these properties are necessary to analyze ...
expand
SECTION: Dynamic composition
Dynamically adaptable applications with iPOJO service components
Clement Escoffier, Richard S. Hall
Pages: 113-128

Traditional component models and frameworks simplified software system development by enabling developers to break software systems into independent pieces with well-defined interfaces. This approach led to looser coupling among the system pieces and ...
expand
Dynamic contextual service ranking
André Bottaro, Richard S. Hall
Pages: 129-143

This paper explores service composition in pervasive environments with a focus on dynamic service selection. Service orientation offers the dynamism and loose coupling needed in pervasive applications. However, context-aware service composition is still ...
expand
SECTION: Short papers
Measuring reactability of persistent computing systems
Takumi Endo, Yuichi Goto, Jingde Cheng
Pages: 144-151

A persistent computing system is a reactive system that functions continuously anytime without stopping its reactions even when it needs to be maintained, upgraded, or reconfigured, it has some trouble, or it is attacked. However, the requirement that ...
expand
Requirements for applying aspect-oriented techniques in web service composition languages
Mathieu Braem, Niels Joncheere
Pages: 152-159

In current composition languages for web services, there is insufficient support to explicitly separate crosscutting concerns, which leads to compositions that are hard to maintain or evolve. A similar problem in object-oriented languages is being tackled ...
expand
Synthesizing communication middleware from explicit connectors in component based distributed architectures
Dietmar Schreiner, Karl M. Göschka
Pages: 160-167

In component based software engineering, an application is build by composing trusted and reusable units of execution, the components. A composition is formed by connecting the components' related interfaces. The point of connection, namely the connector, ...
expand
Streamlining feature-oriented designs
Martin Kuhlemann, Sven Apel, Thomas Leich
Pages: 168-175

Software development for embedded systems gains momentum but faces many challenges. Especially the constraints of deeply embedded systems, i.e., extreme resource and performance constraints, seem to prohibit the successful application of modern and approved ...
expand
Requirements for reusable aspect deployment
Bruno De Fraine, Mathieu Braem
Pages: 176-183

The aspect-oriented paradigm aims to modularize concerns that crosscut traditional abstraction boundaries. In the AOSD community, there is an increasing interest in the development of reusable implementations of typical crosscutting concerns, such as ...
expand
SECTION: Aspect-oriented programming
Aspect-oriented programming: selecting and exposing object paths
Mohammed Al-Mansari, Stefan Hanenberg, Rainer Unland
Pages: 184-199

Aspects require access to the join point context in order to select and adapt join points. For this purpose, current aspect-oriented systems offer a large number of pointcut constructs that provide access to join point information that is local to the ...
expand
Debugging aspect-enabled programs
Marc Eaddy, Alfred Aho, Weiping Hu, Paddy McDonald, Julian Burger
Pages: 200-215

The ability to debug programs composed using aspect-oriented programming (AOP) techniques is critical to the adoption of AOP. Nevertheless, many AOP systems lack adequate support for debugging, making it difficult to diagnose faults and understand the ...
expand
Unification of static and dynamic AOP for evolution in embedded software systems
Wasif Gilani, Fabian Scheler, Daniel Lohman, Olaf Spinczyk, Wolfgang Schröder-Preikschat
Pages: 216-234

This paper discusses how evolution in software systems can be supported by a unified application of both static as well as dynamic aspect-oriented technology. The support for evolution is required statically, where the applications could be taken offline ...
expand
SECTION: Structural composition
Patterns of component evolution
Rajesh Vasa, Markus Lumpe, Jean-Guy Schneider
Pages: 235-251

Contemporary software systems are composed of many components, which, in general, undergo phased and incremental development. In order to facilitate the corresponding construction process, it is important that the development team in charge has a good ...
expand
An approach for structural pattern composition
Imed Hammouda, Kai Koskimies
Pages: 252-265

Pattern composition has been recognized as a key element for the adoption of pattern languages and systems. This paper discusses the challenges of structural pattern composition and proposes an approach for role-based pattern composition, with two alternative ...
expand
Composite connectors for composing software components
Kung-Kiu Lau, Ling Ling, Vladyslav Ukis, Perla Velasco Elizondo
Pages: 266-280

In a component-based system, connectors are used to compose components. Connectors should have a semantics that makes them simple to construct and use. At the same time, their semantics should be rich enough to endow them with desirable properties such ...
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