A syntactic theory of sequential control
Theoretical Computer Science
Towards fully abstract semantics for local variables
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Notions of computation and monads
Information and Computation
Full abstraction in the lazy lambda calculus
Information and Computation
Proving congruence of bisimulation in functional programming languages
Information and Computation
A theory of bisimulation for the &lgr;-calculus
Acta Informatica
Bisimilarity for a first-order calculus of objects with subtyping
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational equivalences for untyped and polymorphic object calculi
Higher order operational techniques in semantics
On full abstraction for PCF: I, II, and III
Information and Computation
Information and Computation
Hyper/J: multi-dimensional separation of concerns for Java
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Using aspectC to improve the modularity of path-specific customization in operating system code
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Aspect-oriented programming with model checking
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
A Theory of Objects
Pointcuts and advice in higher-order languages
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Virtual machine support for dynamic join points
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)
Bisimulation: From The Origins to Today
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
A bisimulation for type abstraction and recursion
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A theory of bisimulation for a fragment of concurrent ML with local names
Theoretical Computer Science
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Classpects: unifying aspect- and object-oriented language design
Proceedings of the 27th international conference on Software engineering
Modular Verification of Open Features Using Three-Valued Model Checking
Automated Software Engineering
Eager Normal Form Bisimulation
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
The benefits of exposing calls and returns
CONCUR 2005 - Concurrency Theory
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The 33rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2006
Small bisimulations for reasoning about higher-order imperative programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Head Normal Form Bisimulation for Pairs and the \lambda\mu-Calculus
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
A type-theoretic interpretation of pointcuts and advice
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Typed parametric polymorphism for aspects
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
MiniMAO1: an imperative core language for studying aspect-oriented reasonings
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Confining root programs with domain and type enforcement (DTE)
SSYM'96 Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography - Volume 6
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
Java JR: fully abstract trace semantics for a core java language
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
The bisimulation proof method: enhancements and open problems
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Adding nesting structure to words
DLT'06 Proceedings of the 10th international conference on Developments in Language Theory
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Bisimulations for untyped imperative objects
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Typing for a minimal aspect language: preliminary report
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
From Applicative to Environmental Bisimulation
Electronic Notes in Theoretical Computer Science (ENTCS)
Typed normal form bisimulation
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
Hi-index | 0.00 |
We define and study bisimulation for proving contextual equivalence in an aspect extension of the untyped lambda-calculus. To our knowledge, this is the first study of coinductive reasoning principles aimed at proving equality of aspect programs. The language we study is very small, yet powerful enough to encode mutable references and a range of temporal pointcuts (including cflow and regular event patterns).Examples suggest that our bisimulation principle is useful. For an encoding of higher-order programs with state, our methods suffice to establish well-known and well-studied subtle examples involving higher-order functions with state.Even in the presence of first class dynamic advice and expressive pointcuts, our reasoning principles show that aspect-aware interfaces can aid in ensuring that clients of a component are unaffected by changes to an implementation. Our paper generalizes existing results given for open modules to also include a variety of history-sensitive pointcuts such as cflow and regular event patterns.Our formal techniques and results suggest that aspects are amenable to the formal techniques developed for stateful higher-order programs.