Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Report from an Experiment: Impact of Documentation onMaintenance
Empirical Software Engineering
Empirical Software Engineering
Software Documentation: How Much Is Enough?
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Object-oriented modeling with UML: a study of developers' perceptions
Communications of the ACM - Why CS students need math
An Empirical Study on Using Stereotypes to Improve Understanding of UML Models
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
IEEE Transactions on Software Engineering
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
An Experimental Investigation of Formality in UML-Based Development
IEEE Transactions on Software Engineering
Composing design patterns: a scalability study of aspect-oriented programming
Proceedings of the 5th international conference on Aspect-oriented software development
Proceedings of the 5th international conference on Generative programming and component engineering
Experiences from introducing UML-based development in a large safety-critical project
Empirical Software Engineering
The Impact of UML Documentation on Software Maintenance: An Experimental Evaluation
IEEE Transactions on Software Engineering
Designing your Next Empirical Study on Program Comprehension
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Evolving and Composing Frameworks with Aspects: The MobiGrid Case
ICCBSS '08 Proceedings of the Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008)
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance
IEEE Transactions on Software Engineering
Modular verification of strongly invasive aspects: summary
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
An exploratory study of fault-proneness in evolving aspect-oriented programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Delta-oriented programming of software product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
MAVEN: modular aspect verification and interference analysis
Formal Methods in System Design
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
On the Relevance of Code Anomalies for Identifying Architecture Degradation Symptoms
CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering
On the role of composition code properties on evolving programs
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Evaluating the impact of aspects on inconsistency detection effort: a controlled experiment
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Integrating Software Product Lines: A Study of Reuse versus Stability
COMPSAC '12 Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference
Hi-index | 0.00 |
A considerable part of software design is dedicated for the composition of two or more modules. The implication is that changes made later in the implementation often require some reasoning about module composition properties. However, these properties are often not explicitly specified in design artefacts. Moreover, they cannot be easily inferred from the source code either. As a result, implicit composition properties may represent a major source of software maintenance complexity. This fact is particularly true with the advent of post object-oriented techniques, which are increasingly providing advanced mechanisms to enable flexible module composition. However, there is little empirical knowledge on how design models with explicitly-specified composition properties can improve software maintenance tasks. This paper reports an experiment that analyses the impact of design models enriched with composition properties on system maintenance. Explicit composition modelling was achieved in the experiment through a conservative approach, i.e., a specific set of additional UML stereotypes dedicated to model composition properties. The experiment involved 28 participants, who were asked to realize four maintenance tasks using UML design models with different levels of module composition details. Our findings suggested that explicit composition modelling contributed to better results in the realization of program change tasks, regardless of the developers' expertise. Users of composition-enhanced models consistently yielded better results when compared to users of plain UML models. The use of explicit composition specification also led to an average increase of 44.7% in the quality of changes produced by the participants