Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conceptual module querying for software reengineering
Proceedings of the 20th international conference on Software engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Software engineering (6th ed.)
Software engineering (6th ed.)
Modeling of software concerns in Cosmos
AOSD '02 Proceedings of the 1st 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
A Study of The Fragile Base Class Problem
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Understanding Aspects via Implicit Invocation
Proceedings of the 19th IEEE international conference on Automated software engineering
An expressive aspect language for system applications with Arachne
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Modular Software Design with Crosscutting Interfaces
IEEE Software
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Separation of concerns with procedures, annotations, advice and pointcuts
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
SC'05 Proceedings of the 4th international conference on Software Composition
Demeter interfaces: adaptive programming without surprises
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Semantics-based composition for aspect-oriented requirements engineering
Proceedings of the 6th international conference on Aspect-oriented software development
SCoPE: an AspectJ compiler for supporting user-defined analysis-based pointcuts
Proceedings of the 6th international conference on Aspect-oriented software development
Towards a type system for detecting never-matching pointcut compositions
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Integrating aspect-orientation and structural annotations to support adaptive middleware
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
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
Application-specific models and pointcuts using a logic metalanguage
Computer Languages, Systems and Structures
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
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
Onspect: ontology based aspects
Proceedings of the 7th workshop on Foundations of aspect-oriented languages
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
AOCI: Weaving Components in a Distributed Environment
OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:
Domain-driven discovery of stable abstractions for pointcut interfaces
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Composing architectural aspects based on style semantics
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study
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
Pointcut-based architectural interface for bridging a gap between design and implementation
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
Controlled evolution of adaptive programs
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
EA '09 Proceedings of the 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Enforcing structural regularities in software using IntensiVE
Science of Computer Programming
Application-specific models and pointcuts using a logic meta language
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
Types and modularity for implicit invocation with implicit announcement
ACM Transactions on Software Engineering and Methodology (TOSEM)
Archface: a contract place where architectural design and code meet together
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Tackling pointcut fragility with dynamic annotations
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
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
A platform-independent UML profile for aspect-oriented development
Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering
Software evolution in AOSD: a MDA-based approach
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Providing context-aware adaptations based on a semantic model
Proceedings of the 11th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
A sequence of patterns for reusable aspect libraries with easy configuration
SC'11 Proceedings of the 10th international conference on Software composition
A system of patterns for reusable aspect libraries
Transactions on aspect-oriented software development VIII
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
Expressing aspectual interactions in design: experiences in the slot machine domain
Proceedings of the 14th international conference on Model driven engineering languages and systems
Demeter interfaces: adaptive programming without surprises
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Domain-Driven discovery of stable abstractions for pointcut interfaces
Transactions on Aspect-Oriented Software Development IX
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Hierarchical concern-based pointcuts
Proceedings of the 8th international workshop on Advanced modularization techniques
AspectMaps: Extending Moose to visualize AOP software
Science of Computer Programming
Hi-index | 0.00 |
In spite of the more advanced modularisation mechanisms, aspect-oriented programs still suffer from evolution problems. Due to the fragile pointcut problem, seemingly safe modifications to the base code of an aspect-oriented program can have an unexpected impact on the semantics of the pointcuts defined in that program. This can lead to broken aspect functionality due to accidental join point misses and unintended join point captures. We tackle this problem by declaring pointcuts in terms of a conceptual model of the base program, rather than defining them directly in terms of how the base program is structured. As such, we achieve an effective decoupling of the pointcuts from the base program's structure. In addition, the conceptual model provides a means to verify where and why potential fragile pointcut conflicts occur, by imposing structural and semantic constraints on the conceptual model, that can be verified when the base program evolves. To validate our approach we implemented a model-based pointcut mechanism, which we used to define some aspects on SmallWiki, a medium-sized application, and subsequently detected and resolved occurrences of the fragile pointcut problem when this application evolved.