The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
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
A semantical approach to method-call interception
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
The Definition of Standard ML
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Modular Software Design with Crosscutting Interfaces
IEEE Software
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Adding open modules to AspectJ
Proceedings of the 5th international conference on Aspect-oriented software development
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
On instrumenting obfuscated java bytecode with aspects
Proceedings of the 2006 international workshop on Software engineering for secure systems
How secure is AOP and what can we do about it?
Proceedings of the 2006 international workshop on Software engineering for secure systems
Reflections on architectural connection: seven issues on aspects and ADLs
Proceedings of the 2006 international workshop on Early aspects at ICSE
Postmodern prospects for conceptual modelling
APCCM '06 Proceedings of the 3rd Asia-Pacific conference on Conceptual modelling - Volume 53
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
Semantic reasoning about feature composition via multiple aspect-weavings
Proceedings of the 5th international conference on Generative programming and component engineering
Semantics of static pointcuts in aspectJ
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 6th international conference on Aspect-oriented software development
Fully abstract semantics of additive aspects by translation
Proceedings of the 6th international conference on Aspect-oriented software development
Program entanglement, feature interaction and the feature language extensions
Computer Networks: The International Journal of Computer and Telecommunications Networking
A case for explicit join point models for aspect-oriented intermediate languages
Proceedings of the 1st workshop on Virtual machines and intermediate languages for emerging modularization mechanisms
Aspects and modular reasoning in nonmonotonic logic
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Rely-guarantee approach to reasoning about aspect-oriented programs
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
An interface mechanism for encapsulating weaving in class-based AOP
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
Improve pointcut definitions with program views
Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies
Test-based pointcuts: a robust pointcut mechanism based on unit test cases for software evolution
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Bridging Java and AspectJ through explicit join points
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
An aspect-oriented weaving mechanism based on component and connector architecture
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Encapsulating and exploiting change with changeboxes
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
AspectML: A polymorphic aspect-oriented functional programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning about aspects with common sense
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 2008 ACM symposium on Applied computing
Towards reusable components with aspects: an empirical study on modularity and obliviousness
Proceedings of the 30th international conference on Software engineering
Certificate translation for specification-preserving advices
Proceedings of the 7th workshop on Foundations of aspect-oriented languages
Enforcing behavioral constraints in evolving aspect-oriented programs
Proceedings of the 7th workshop on Foundations of aspect-oriented languages
Contracts for aspect-oriented design
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Balancing Quantification and Obliviousness in the Design of Aspect-Oriented Frameworks
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
The visitor pattern as a reusable, generic, type-safe component
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Program refactoring using functional aspects
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Domain-driven discovery of stable abstractions for pointcut interfaces
Proceedings of the 8th ACM international conference on Aspect-oriented software development
AOCI: ontology-based pointcuts
Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
Aspect-oriented generation of the API documentation for AspectJ
Proceedings of the 4th workshop on Domain-specific aspect languages
Enhancing base-code protection in aspect-oriented programs
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Cooperative aspect-oriented programming
Science of Computer Programming
Transactions on Aspect-Oriented Software Development V
Feature (De)composition in Functional Programming
SC '09 Proceedings of the 8th International Conference on Software Composition
What does aspect-oriented programming mean for functional programmers?
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Empirical Software Engineering
Execution levels for aspect-oriented programming
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Tool support for crosscutting concerns of API documentation
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
EffectiveAdvice: disciplined advice with explicit effects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
A permission system for secure AOP
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Types and modularity for implicit invocation with implicit announcement
ACM Transactions on Software Engineering and Methodology (TOSEM)
Aspects, dependencies and interactions: report on the workshop ADI at ECOOP 2007
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Language support for extensible web browsers
APLWACA '10 Proceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications
A new approach for component's port modeling in software architecture
Journal of Systems and Software
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
ParaAJ: toward reusable and maintainable aspect oriented programs
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Supporting dynamic, third-party code customizations in JavaScript using aspects
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Enabling expressive aspect oriented modular reasoning by translucid contracts
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Translucid contracts for modular reasoning about aspect-oriented programs
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Tackling pointcut fragility with dynamic annotations
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Aspect assumptions: a retrospective study of AspectJ developers' assumptions about aspect usage
Proceedings of the tenth international conference on Aspect-oriented software 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
Applying translucid contracts for modular reasoning about aspect and object oriented events
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Towards a robust model for distributed aspects
Proceedings of the 1st workshop on Modularity in systems software
Managing crosscutting concerns in component based systems using a model driven development approach
Journal of Systems and Software
Information Sciences: an International Journal
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Join point interfaces for modular reasoning in aspect-oriented programs
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
A system of patterns for reusable aspect libraries
Transactions on aspect-oriented software development VIII
Revisiting information hiding: reflections on classical and nonclassical modularity
Proceedings of the 25th European conference on Object-oriented programming
Science of Computer Programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Modularity analysis of use case implementations
Journal of Systems and Software
abc: the aspectbench compiler for aspectJ
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
A practical monadic aspect weaver
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Proceedings of the eleventh workshop on Foundations of Aspect-Oriented Languages
Method shelters: avoiding conflicts among class extensions caused by local rebinding
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
An exploratory study of the design impact of language features for aspect-oriented interfaces
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Membranes for AOP: from vision to practice
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
Demeter interfaces: adaptive programming without surprises
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Managing the evolution of aspect-oriented software with model-based pointcuts
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Chaperones and impersonators: run-time support for reasonable interposition
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
MAO: ownership and effects for more effective reasoning about aspects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Joinpoint inference from behavioral specification to implementation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Usage and testability of AOP: An empirical study of AspectJ
Information and Software Technology
Domain-Driven discovery of stable abstractions for pointcut interfaces
Transactions on Aspect-Oriented Software Development IX
A typed monadic embedding of aspects
Proceedings of the 12th annual international conference on Aspect-oriented software development
Fine-grained annotations for pointcuts with a finer granularity
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Trading obliviousness for modularity with cooperative aspect-oriented programming
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
A design rule language for aspect-oriented programming
Journal of Systems and Software
Language features for software evolution and aspect-oriented interfaces: an exploratory study
Transactions on Aspect-Oriented Software Development X
Join point interfaces for safe and flexible decoupling of aspects
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Advice is a mechanism used by advanced object-oriented and aspect-oriented programming languages to augment the behavior of methods in a program. Advice can help to make programs more modular by separating crosscutting concerns more effectively, but it also challenges existing ideas about modularity and separate development. We study this challenge using a new, simple formal model for advice as it appears in languages like AspectJ. We then add a module system designed to leave program functionality as open to extension through advice as possible, while still enabling separate reasoning about the code within a module. Our system, Open Modules, can either be used directly to facilitate separate, component-based development, or can be viewed as a model of the features that certain AOP IDEs provide. We define a formal system for reasoning about the observational equivalence of programs under advice, which can be used to show that clients are unaffected by semantics-preserving changes to a module's implementation. Our model yields insights into the nature of modularity in the presence of advice, provides a mechanism for enforceable contracts between component providers and clients in this setting, and suggests improvements to current AOP IDEs.