Advanced C++ programming styles and idioms
Advanced C++ programming styles and idioms
Migrating legacy systems: gateways, interfaces & the incremental approach
Migrating legacy systems: gateways, interfaces & the incremental approach
Patterns of software: tales from the software community
Patterns of software: tales from the software community
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd 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
Formal Concept Analysis: Mathematical Foundations
Formal Concept Analysis: Mathematical Foundations
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
Identifying modules via concept analysis
ICSM '97 Proceedings of the International Conference on Software Maintenance
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
An Ethnographic Study of Copy and Paste Programming Practices in OOPL
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Mining Aspectual Views using Formal Concept Analysis
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Aspect Mining through the Formal Concept Analysis of Execution Traces
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Refactoring a Java Code Base to AspectJ: An Illustrative Example
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Automated Refactoring of Object Oriented Code into Aspects
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Isolating Idiomatic Crosscutting Concerns
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
On the Use of Clone Detection for Identifying Crosscutting Concern Code
IEEE Transactions on Software Engineering
Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Identifying Crosscutting Concerns Using Fan-In Analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Aspect mining in the presence of the C preprocessor
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
Mining application-specific coding patterns for software maintenance
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
Can we refactor conditional compilation into aspects?
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Journal of Systems and Software
A model of refactoring physically and virtually separated features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Identifying crosscutting concerns using historical code changes
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Closure joinpoints: block joinpoints without surprises
Proceedings of the tenth international conference on Aspect-oriented software development
Analyzing the discipline of preprocessor annotations in 30 million lines of C code
Proceedings of the tenth international conference on Aspect-oriented software development
Bridging the divide between software developers and operators using logs
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
This paper describes a method for studying idioms-based implementations of crosscutting concerns, and our experiences with it in the context of a real-world, large-scale embedded software system. In particular, we analyse a seemingly simple concern, tracing, and show that it exhibits significant variability, despite the use of a prescribed idiom. We discuss the consequences of this variability in terms of how aspect-oriented software development techniques could help prevent it, how it paralyses (automated) migration efforts, and which aspect language features are required in order to obtain precise and concise aspects. Additionally, we elaborate on the representativeness of our results and on the usefulness of our proposed method.