Progress, obstacles, and opportunities in software engineering economics
Communications of the ACM
Proceedings of the 20th international conference on Software engineering
Defining and Validating Measures for Object-Based High-Level Design
IEEE Transactions on Software Engineering
Implementing product-line features by composing aspects
Proceedings of the first conference on Software product lines : experience and research directions: experience and research directions
Quantifying the closeness between program components and features
Journal of Systems and Software - Special issue on software maintenance
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
Software Change Impact Analysis
Software Change Impact Analysis
Leveraging Legacy System Dollars for E-Business
IT Professional
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 35th conference on Winter simulation: driving innovation
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
Understanding Concerns in Software: Insights Gained from Two Case Studies
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
IEEE Software
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Finding failure-inducing changes in java programs using change classification
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Taming heterogeneous agent architectures
Communications of the ACM - Web searching in a multilingual world
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
An Exploratory Study of Information Retrieval Techniques in Domain Analysis
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Journal of Systems and Software
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
Software, software engineering and software engineering research: some unconventional thoughts
Journal of Computer Science and Technology
Concern tracing and change impact analysis: An exploratory study
EA '09 Proceedings of the 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design
From aspect-oriented models to aspect-oriented code?: the maintenance perspective
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Stability assessment of aspect-oriented software architectures: A quantitative study
Journal of Systems and Software
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
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
On the impact of crosscutting concern projection on code measurement
Proceedings of the tenth international conference on Aspect-oriented software development
Revealing Mistakes in Concern Mapping Tasks: An Experimental Evaluation
CSMR '11 Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering
Multi-view composition language for software product line requirements
SLE'09 Proceedings of the Second international conference on Software Language Engineering
From requirements documents to feature models for aspect oriented product line implementation
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
On the modularity of software architectures: a concern-driven measurement framework
ECSA'07 Proceedings of the First European conference on Software Architecture
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
Context: Maintainability has become one of the most essential attributes of software quality, as software maintenance has shown to be one of the most costly and time-consuming tasks of software development. Many studies reveal that maintainability is not often a major consideration in requirements and design stages, and software maintenance costs may be reduced by a more controlled design early in the software life cycle. Several problem factors have been identified as harmful for software maintainability, such as lack of upfront consideration of proper modularity choices. In that sense, the presence of crosscutting concerns is one of such modularity anomalies that possibly exert negative effects on software maintainability. However, to the date there is little or no knowledge about how characteristics of crosscutting concerns, observable in early artefacts, are correlated with maintainability. Objective: In this setting, this paper introduces an empirical analysis where the correlation between crosscutting properties and two ISO/IEC 9126 maintainability attributes, namely changeability and stability, is presented. Method: This correlation is based on the utilization of a set of concern metrics that allows the quantification of crosscutting, scattering and tangling. Results: Our study confirms that a change in a crosscutting concern is more difficult to be accomplished and that artefacts addressing crosscutting concerns are found to be less stable later as the system evolves. Moreover, our empirical analysis reveals that crosscutting properties introduce non-syntactic dependencies between software artefacts, thereby decreasing the quality of software in terms of changeability and stability as well. These subtle dependencies cannot be easily detected without the use of concern metrics. Conclusion: The correlation provides evidence that the presence of certain crosscutting properties negatively affects to changeability and stability. The whole analysis is performed using as target cases three software product lines, where maintainability properties are of upmost importance not only for individual products but also for the core architecture of the product line.