Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Visualisation-based tool support for the development of aspect-oriented programs
Proceedings of the 5th international conference on Aspect-oriented software development
Presenting crosscutting structure with active models
Proceedings of the 5th international conference on Aspect-oriented software development
Extending omniscient debugging to support aspect-oriented programming
Proceedings of the 2008 ACM symposium on Applied computing
Mutation Testing for Aspect-Oriented Programs
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Redundancy-free residual dispatch: using ordered binary decision diagrams for efficient dispatch
Proceedings of the 7th workshop on Foundations of aspect-oriented languages
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Debugging aspect-enabled programs
SC'07 Proceedings of the 6th international conference on Software composition
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Making aspects natural: events and composition
Proceedings of the tenth international conference on Aspect-oriented software development
An overview of ALIA4J: an execution model for advanced-dispatching languages
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Transactions on Aspect-Oriented Software Development I
A pointcut language for setting advanced breakpoints
Proceedings of the 12th annual international conference on Aspect-oriented software development
The potential of omniscient debugging for aspect-oriented programming languages
Proceedings of the 1st workshop on Comprehension of complex systems
A graphical tool for observing state and behavioral changes at join points
Proceedings of the 12th annual international conference companion on Aspect-oriented software development
A fine-grained, customizable debugger for aspect-oriented programming
Transactions on Aspect-Oriented Software Development X
Hi-index | 0.00 |
To increase modularity, aspect-oriented programming provides a mechanism based on implicit invocation: An aspect can influence runtime behavior of other modules without the need that these modules refer to the aspect. Recent studies show that a significant part of reported bugs in aspect-oriented programs are caused exactly by this implicitness. These bugs are difficult to detect because aspect-oriented source code elements and their locations are transformed or even lost after compilation. We investigate four dedicated fault models and identify ten tasks that a debugger should be able to perform for detecting aspect-orientation-specific faults. We show that existing debuggers are not powerful enough to support all identified tasks because the aspect-oriented abstractions are lost after compilation. This paper describes the design and implementation of a debugger for aspect-oriented languages using a dedicated intermediate representation preserving the abstraction level of aspect-oriented source code. We define a debugging model which is aware of aspect-oriented concepts. Based on the model, we implement a user interface with functionalities supporting the identified tasks, like visualizing pointcut evaluation and program composition.