A new approach to compiling adaptive programs
Science of Computer Programming
A system and language for building system-specific, static analyses
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mastering AspectJ: Aspect-Oriented Programming in Java
Mastering AspectJ: Aspect-Oriented Programming in Java
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
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Programming with AspectJ
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
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
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
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
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
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
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Expressing different conceptual models of join point selections in aspect-oriented design
Proceedings of the 5th international conference on Aspect-oriented software development
Explicitly distributed AOP using AWED
Proceedings of the 5th international conference on Aspect-oriented software development
Declarative, formal, and extensible syntax definition for aspectJ
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Proceedings of the 5th international conference on Generative programming and component engineering
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
From multi-modal scenarios to code: compiling LSCs into aspectJ
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
SCoPE: an AspectJ compiler for supporting user-defined analysis-based pointcuts
Proceedings of the 6th international conference on Aspect-oriented software development
A flexible architecture for pointcut-advice language implementations
Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
Requirement enforcement by transformation automata
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Orthogonal persistence and AOP: a balancing act
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
On dynamically-scoped crosscutting mechanisms
ACM SIGPLAN Notices
Behavioral similarity matching using concrete source code templates in logic queries
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Making trace monitors feasible
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
A comparison of compilation techniques for trace monitors with free variables
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
The design and implementation of formal monitoring techniques
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Automatic extraction of framework-specific models from framework-based application code
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Securing web applications with static and dynamic information flow tracking
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
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
Modularity first: a case for mixing AOP and attribute grammars
Proceedings of the 7th international conference on Aspect-oriented software development
Relational aspects as tracematches
Proceedings of the 7th international conference on Aspect-oriented software development
Test-based pointcuts for robust and fine-grained join point specification
Proceedings of the 7th international conference on Aspect-oriented software development
Proceedings of the 7th international conference on Aspect-oriented software development
Security protocols, properties, and their monitoring
Proceedings of the fourth international workshop on Software engineering for secure systems
Efficient program execution indexing
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
The CLOSER: automating resource management in java
Proceedings of the 7th international symposium on Memory management
Using Aspects for Enforcing Formal Architectural Invariants
Electronic Notes in Theoretical Computer Science (ENTCS)
Racer: effective race detection using aspectj
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Towards an aspect-oriented architecture for self-adaptive frameworks
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling
On-demand materialization of aspects for application development
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Forward chaining in HALO: An implementation strategy for history-based logic pointcuts
Computer Languages, Systems and Structures
Verified Software: Theories, Tools, Experiments
Runtime Verification of C Programs
TestCom '08 / FATES '08 Proceedings of the 20th IFIP TC 6/WG 6.1 international conference on Testing of Software and Communicating Systems: 8th International Workshop
Modelling with Relational Calculus of Object and Component Systems - rCOS
The Common Component Modeling Example
Behavioral Modelling and Composition of Object Slices Using Event Observation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Aspect-Oriented Model Weaving Beyond Model Composition and Model Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
QVM: an efficient runtime for detecting defects in deployed systems
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Typestate-like analysis of multiple interacting objects
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Validating temporal properties of interacting objects
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Finding programming errors earlier by evaluating runtime monitors ahead-of-time
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Transforming Timeline Specifications into Automata for Runtime Monitoring
Applications of Graph Transformations with Industrial Relevance
Synthesizing Monitors for Safety Properties: This Time with Calls and Returns
Runtime Verification
A decision tree-based approach to dynamic pointcut evaluation
Proceedings of the 2nd Workshop on Virtual Machines and Intermediate Languages for emerging modularization mechanisms
Fast extraction of high-quality framework-specific models from application code
Automated Software Engineering
Dependent advice: a general approach to optimizing history-based aspects
Proceedings of the 8th ACM international conference on Aspect-oriented software development
The dataflow pointcut: a formal and practical framework
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Flexible calling context reification for aspect-oriented programming
Proceedings of the 8th ACM international conference on Aspect-oriented software development
From sequence diagrams to Java-stairs aspects
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
XFindBugs: eXtended FindBugs for AspectJ
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Parametric Trace Slicing and Monitoring
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Runtime monitoring composite web services through stateful aspect extension
Journal of Computer Science and Technology
Empirical Software Engineering
Context-aware service engineering: A survey
Journal of Systems and Software
Transactional pointcuts: designation reification and advice of interrelated join points
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Extending AspectJ for separating regions
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
HotWave: creating adaptive tools with dynamic aspect-oriented programming in Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Modularizing crosscuts in an e-commerce application in Lisp using HALO
Proceedings of the 2007 International Lisp Conference
Recommending refactorings when restructuring variabilities in software product lines
Proceedings of the 2nd Workshop on Refactoring Tools
Efficient Monitoring of Parametric Context-Free Patterns
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Experiences with embedding MPL security monitors into Java programs
CompSysTech '09 Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing
AspectScript: expressive aspects for the web
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Efficient monitoring of parametric context-free patterns
Automated Software Engineering
S2A: a compiler for multi-modal UML sequence diagrams
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
A declarative framework for analysis and optimization
CC'07 Proceedings of the 16th international conference on Compiler construction
Types and modularity for implicit invocation with implicit announcement
ACM Transactions on Software Engineering and Methodology (TOSEM)
Property-preserving evolution of components using VPA-based aspects
OTM'07 Proceedings of the 2007 OTM Confederated international conference on On the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS - Volume Part I
Aspect-oriented programming: selecting and exposing object paths
SC'07 Proceedings of the 6th international conference on Software composition
On the semantics of matching trace monitoring patterns
RV'07 Proceedings of the 7th international conference on Runtime verification
Collaborative runtime verification with tracematches
RV'07 Proceedings of the 7th international conference on Runtime verification
Temporal assertions with parametrised propositions
RV'07 Proceedings of the 7th international conference on Runtime verification
Runtime checking for program verification
RV'07 Proceedings of the 7th international conference on Runtime verification
Applying the composition filter model for runtime verification of multiple-language software
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
Weaving multiple aspects in sequence diagrams
Transactions on aspect-oriented software development III
Jinn: synthesizing dynamic bug detectors for foreign language interfaces
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Efficient hybrid typestate analysis by determining continuation-equivalent states
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Archface: a contract place where architectural design and code meet together
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Effective interprocedural resource leak detection
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Supporting dynamic aspect-oriented features
ACM Transactions on Software Engineering and Methodology (TOSEM)
Weaving the fabric of the control loop through aspects
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Flexible in-lined reference monitor certification: challenges and future directions
Proceedings of the 5th ACM workshop on Programming languages meets program verification
Designing event-based context transition in context-oriented programming
Proceedings of the 2nd International Workshop on Context-Oriented Programming
Clara: partially evaluating runtime monitors at compile time tutorial supplement
RV'10 Proceedings of the First international conference on Runtime verification
Runtime verification with the RV system
RV'10 Proceedings of the First international conference on Runtime verification
A meta-aspect protocol for developing dynamic analyses
RV'10 Proceedings of the First international conference on Runtime verification
Clara: a framework for partially evaluating finite-state runtime monitors ahead of time
RV'10 Proceedings of the First international conference on Runtime verification
Reducing configurations to monitor in a software product line
RV'10 Proceedings of the First international conference on Runtime verification
Aspect-aware operating system development
Proceedings of the tenth international conference on Aspect-oriented software development
EScala: modular event-driven object interactions in scala
Proceedings of the tenth international conference on Aspect-oriented software development
EventCJ: a context-oriented programming language with declarative event-based context transition
Proceedings of the tenth international conference on Aspect-oriented software development
Making aspects natural: events and composition
Proceedings of the tenth international conference on Aspect-oriented software development
Compositional verification of events and observers: (summary)
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Faster alias set analysis using summaries
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Garbage collection for monitoring parametric properties
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Comprehensive aspect weaving for Java
Science of Computer Programming
Runtime Verification for LTL and TLTL
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Compiler for Multimodal Scenarios: Transforming LSCs into AspectJ
ACM Transactions on Software Engineering and Methodology (TOSEM)
TRACECONTRACT: a scala DSL for trace analysis
FM'11 Proceedings of the 17th international conference on Formal methods
Combining static analysis and runtime checking in security aspects for distributed tuple spaces
COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
Stateful breakpoints: a practical approach to defining parameterized runtime monitors
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Temporal higher-order contracts
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Monitoring aspects for the customization of automatically generated code for big-step models
Proceedings of the 10th ACM international conference on Generative programming and component engineering
QVM: An Efficient Runtime for Detecting Defects in Deployed Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Modeling and enforcing invariants of dynamic software architectures
Software and Systems Modeling (SoSyM)
Modularization of distributed web services using aspects with explicit distribution (AWED)
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part II
abc: the aspectbench compiler for aspectJ
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
A self-replication algorithm to flexibly match execution traces
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Compositional verification of events and aspects
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
Tracechecks: defining semantic interfaces with temporal logic
SC'06 Proceedings of the 5th international conference on Software Composition
SC'06 Proceedings of the 5th international conference on Software Composition
An expressive aspect language for system applications with arachne
Transactions on Aspect-Oriented Software Development I
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
A fine-grained join point model for more reusable aspects
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Partial evaluation of pointcuts
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Monitoring method call sequences using annotations
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Partially Evaluating Finite-State Runtime Monitors Ahead of Time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Runtime verification with predictive semantics
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Self-adaptive software needs quantitative verification at runtime
Communications of the ACM
Proceedings of the 34th International Conference on Software Engineering
Statically checking API protocol conformance with mined multi-object specifications
Proceedings of the 34th International Conference on Software Engineering
CoMA: conformance monitoring of java programs by abstract state machines
RV'11 Proceedings of the Second international conference on Runtime verification
MOPBox: a library approach to runtime verification
RV'11 Proceedings of the Second international conference on Runtime verification
Monitoring finite state properties: algorithmic approaches and their relative strengths
RV'11 Proceedings of the Second international conference on Runtime verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information and Software Technology
Specification and monitoring of data-centric temporal properties for service-based systems
Journal of Systems and Software
A machine model for aspect-oriented programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A staged static program analysis to improve the performance of runtime monitoring
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Runtime verification: the application perspective
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
What does AI have to do with RV?
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
A unified approach for static and runtime verification: framework and applications
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Introduction to the special issue on runtime verification
Formal Methods in System Design
InterAspect: aspect-oriented instrumentation with GCC
Formal Methods in System Design
Towards certified runtime verification
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Runtime verification based on register automata
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Specification and verification of event detectors and responses
Proceedings of the 12th annual international conference on Aspect-oriented software development
A pointcut language for setting advanced breakpoints
Proceedings of the 12th annual international conference on Aspect-oriented software development
Generating sound and effective memory debuggers
Proceedings of the 2013 international symposium on memory management
Optimizing monitoring of finite state properties through monitor compaction
Proceedings of the 2013 International Symposium on Software Testing and Analysis
EnforceMOP: a runtime property enforcement system for multithreaded programs
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Easily instrumenting android applications for security purposes
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
Software and Systems Modeling (SoSyM)
Hi-index | 0.02 |
An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the current action: it is not possible to directly observe the history of a computation.Recently, there have been several interesting proposals for new history-based language features, most notably by Douence et al. and by Walker and Viggers. In this paper, we present a new history-based language feature called tracematches that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace. We have fully designed and implemented tracematches as a seamless extension of AspectJ.A key innovation in our tracematch approach is the introduction of free variables in the matching patterns. This enhancement enables a whole new class of applications in which events can be matched not only by the event kind, but also by the values associated with the free variables. We provide several examples of applications enabled by this feature.After introducing and motivating the idea of tracematches via examples, we present a detailed semantics of our language design, and we derive an implementation from that semantics. The implementation has been realised as an extension of the abc compiler for AspectJ.