Deriving structurally based software measures
Journal of Systems and Software - An Oregon workshop on software metrics
Object-oriented analysis (2nd ed.)
Object-oriented analysis (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Defining and Validating Measures for Object-Based High-Level Design
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Object-Oriented Software Construction
Object-Oriented Software Construction
Composite Structure Design
C++ FAQs
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
Replicated Case Studies for Investigating Quality Factorsin Object-Oriented Designs
Empirical Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Resolving feature convolution in middleware systems
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
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
Horizontal decomposition of Prevayler
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Bridging Java and AspectJ through explicit join points
Proceedings of the 5th international symposium on Principles and practice of programming in Java
An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
On the modularization and reuse of exception handling with aspects
Software—Practice & Experience
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Systems evolution and software reuse in object-oriented programming and aspect-oriented programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Do crosscutting concerns cause modularity problems?
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Role of aspect-oriented approach in dynamic adaptability
International Journal of Computer Applications in Technology
Hi-index | 0.01 |
Modularity is the single attribute of software that allows a program to be intellectually manageable [29]. The recipe for modularizing is to define a narrow interface, hide an implementation detail, keep low coupling and high cohesion. Over a decade ago, aspect-oriented programming (AOP) was proposed in the literature to "modularize the un-modularizable" [24]. Since then, aspect-oriented languages have been providing new abstraction and composition mechanisms to deal with concerns that could not be modularized because of the limited abstractions of the underlying programming language. This paper is a continuation of our earlier work [32] and further investigates AO software with regard to coupling and cohesion. We compare two versions (Java and AspectJ) of ten applications to review AOP within the context of software modularity. It turns out that the claim that "the software built in AOP is more modular than the software built in OOP" is a myth.