CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The C Information Abstraction System
IEEE Transactions on Software Engineering
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Practical program analysis using general purpose logic programming systems—a case study
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Design of Flexible Static Program Analyzers with PQL
IEEE Transactions on Software Engineering
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Logic and Data Bases
Mastering AspectJ: Aspect-Oriented Programming in Java
Mastering AspectJ: Aspect-Oriented Programming in Java
Proceedings of the 2nd international conference on Aspect-oriented software development
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Aspect-Oriented Logic Meta Programming
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Programming with AspectJ
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Architecture of the XL C++ browser
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
JQuery: finding your way through tangled code
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Scalable extensibility via nested inheritance
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Measuring the dynamic behaviour of AspectJ programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Implementing protocols via declarative event patterns
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
An expressive aspect language for system applications with Arachne
Proceedings of the 4th international conference on Aspect-oriented software development
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
What does aspect-oriented programming mean to Cobol?
Proceedings of the 4th international conference on Aspect-oriented software development
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Event-based runtime verification of java programs
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adding trace matching with free variables to AspectJ
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Relational queries over program traces
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
AspectJ Cookbook
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding open modules to AspectJ
Proceedings of the 5th international conference on Aspect-oriented software development
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Temporal Assertions using AspectJ
Electronic Notes in Theoretical Computer Science (ENTCS)
Using datalog with binary decision diagrams for program analysis
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
SC'05 Proceedings of the 4th international conference on Software Composition
Transactions on Aspect-Oriented Software Development I
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
CodeQuest: scalable source code queries with datalog
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Proceedings of the 6th international conference on Aspect-oriented software development
Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Forward chaining in HALO: an implementation strategy for history-based logic pointcuts
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Forward chaining in HALO: An implementation strategy for history-based logic pointcuts
Computer Languages, Systems and Structures
Protocol Modeling with Model Program Composition
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Runtime Monitoring of Object Invariants with Guarantee
Runtime Verification
AOP as a formal framework for runtime monitoring
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
AOP for the domain of runtime monitoring: breaking out of the code-based model
Proceedings of the 4th workshop on Domain-specific aspect languages
Transactions on Aspect-Oriented Software Development V
Runtime monitoring composite web services through stateful aspect extension
Journal of Computer Science and Technology
Composing aspects with aspects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
JMF: Java measurement framework: language-supported runtime integrity measurement
Proceedings of the seventh ACM workshop on Scalable trusted computing
Runtime verification of service-oriented systems: a well-rounded survey
International Journal of Web and Grid Services
Hi-index | 0.00 |
A trace monitor observes the sequence of events in a system, and takes appropriate action when a given pattern occurs in that sequence. Aspect-oriented programming provides a convenient framework for writing such trace monitors. We provide a brief introduction to aspect-oriented programming in AspectJ. AspectJ only provides support for triggering extra code with single events, and we present a new language feature (named tracematches) that allows one to directly express patterns that range over the whole current trace. Implementing this feature efficiently is challenging, and we report on our work towards that goal. Another drawback of AspectJ is the highly syntactic nature of the event patterns, often requiring the programmer to list all methods that have a certain property, rather than specifying that property itself. We argue that Datalog provides an appropriate notation for describing such properties. Furthermore, all of the existing patterns in AspectJ can be reduced to Datalog via simple rewrite rules. This research is carried out with abc, an extensible optimising compiler for AspectJ, which is freely available for download.