An introduction to functional programming
An introduction to functional programming
Using role components in implement collaboration-based designs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-oriented framework and product lines
Proceedings of the first conference on Software product lines : experience and research directions: experience and research directions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Footprint and feature management using aspect-oriented programming techniques
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Specifying Reusable Components Using Contracts
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Using C++ Templates to Implement Role-Based Designs
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
Software Architecture in Practice
Software Architecture in Practice
Proceedings of the 25th International Conference on Software Engineering
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Extracting and evolving mobile games product lines
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
A coupling framework for aspectJ
EASE'06 Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering
On the duality of aspect-oriented and feature-oriented design patterns
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Patterns for refactoring to aspects: an incipient pattern language
Proceedings of the 14th Conference on Pattern Languages of Programs
On the impact of crosscutting concern projection on code measurement
Proceedings of the tenth international conference on Aspect-oriented software development
On the relationship of concern metrics and requirements maintainability
Information and Software Technology
Evaluating agent-oriented programs: towards multi-paradigm metrics
ProMAS'10 Proceedings of the 8th international conference on Programming Multi-Agent Systems
SPL Conqueror: Toward optimization of non-functional properties in software product lines
Software Quality Control
Do crosscutting concerns cause modularity problems?
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Usage and testability of AOP: An empirical study of AspectJ
Information and Software Technology
Information and Software Technology
Hi-index | 0.00 |
Aspects are defined as well-modularized crosscutting concerns. Despite being a core tenet of Aspect Oriented Programming, little research has been done in characterizing and measuring crosscutting concerns. Some of the issues that have not been fully explored are: What kinds of crosscutting concerns exist? What language constructs do they use? And what is the impact of crosscutting in actual Aspect Oriented programs? In this paper we present basic code metrics that categorize crosscutting according to the number of classes crosscut and the language constructs used. We applied the metrics to four non-trivial open source programs implemented in AspectJ. We found that for these systems, the number of classes crosscut by advice per crosscutting is small in relation to the number of classes in the program. We argue why we believe this result is not atypical for Aspect Oriented programs and draw a relation to other non-AOP techniques that provide crosscutting.