Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Integrating independent components with on-demand remodularization
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
Towards Portable Message Passing in Java: Binding MPI
Proceedings of the 4th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Classpects: unifying aspect- and object-oriented language design
Proceedings of the 27th international conference on Software engineering
Towards a unified coupling framework for measuring aspect-oriented programs
Proceedings of the 3rd international workshop on Software quality assurance
Classics in software engineering
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Generalized coupling measure for aspect-oriented systems
ACM SIGSOFT Software Engineering Notes
Handbook of Parametric and Nonparametric Statistical Procedures
Handbook of Parametric and Nonparametric Statistical Procedures
On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
The Impact of Coupling on the Fault-Proneness of Aspect-Oriented Programs: An Empirical Study
ISSRE '10 Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering
Software Reuse versus Stability: Evaluating Advanced Programming Techniques
SBES '10 Proceedings of the 2010 Brazilian Symposium on Software Engineering
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Reasoning about Faults in Aspect-Oriented Programs: A Metrics-Based Evaluation
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Transactions on Aspect-Oriented Software Development I
A coupling framework for aspectJ
EASE'06 Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Enhancing design models with composition properties: a software maintenance study
Proceedings of the 12th annual international conference on Aspect-oriented software development
Hi-index | 0.00 |
Composition code defines the binding of two or more modules in a program. Post object-oriented programming techniques are increasingly providing expressive mechanisms to enable the flexible definition of composition code. Such composition mechanisms are intended to support programmers in factoring out the complexity of a program and facilitate its evolution. However, the properties of composition code might introduce new flavours of complexity, and in turn cause side effects on program evolvability. Unfortunately, the role of composition code properties on evolving software systems is not yet well understood. This gap is mostly due to the lack of a measurement framework to characterize and quantify composition code. Existing metrics suites are focused on quantifying properties of programs and their modules only. Therefore, programmers are not able to analyse and understand the impact of particular composition properties on program evolvability. This paper presents a framework aimed at characterizing and computing composition code properties. The proposed framework consists of terminology and a metrics suite, which can be used in programs structured with diverse sets of composition mechanisms. We also empirically studied the role of the measurement framework through 22 versions of 4 software projects. Our evaluation revealed that the measurement framework provided consistent indicators of program instabilities observed in history of the evolving compositions