Journal of Systems and Software
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
A primer on empirical studies (tutorial)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Multi-method research: an empirical investigation of object-oriented technology
Journal of Systems and Software
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Case Studies for Method and Tool Evaluation
IEEE Software
The 4+1 View Model of Architecture
IEEE Software
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Software Architecture in Practice
Software Architecture in Practice
An examination of software engineering work practices
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
Avoiding Architectural Degeneration: An Evaluation Process for Software Architecture
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
Architectural Repair of Open Source Software
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Does the Code Match the Design? A Process for Architecture Evaluation
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
The Information Gathering Strategies of Software Maintainers
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Empirically Studying Software Practitioners " Bridging the Gap between Theory and Practice
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Equipping the Reflexion Method with Automated Clustering
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
Static Evaluation of Software Architectures
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
The Golden Age of Software Architecture
IEEE Software
Experiences with Product Line Development of Embedded Systems at Testo AG
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
Understanding Software Architectures by Visualization--An Experiment with Graphical Elements
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Researching Information Systems and Computing
Researching Information Systems and Computing
A Comparison of Static Architecture Compliance Checking Approaches
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Extending the Reflexion Method for Consolidating Software Variants into Product Lines
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Encapsulating targeted component abstractions using software Reflexion Modelling
Journal of Software Maintenance and Evolution: Research and Practice
Defining and continuous checking of structural program dependencies
Proceedings of the 30th international conference on Software engineering
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Architecture Compliance Checking - Experiences from Successful Technology Transfer to Industry
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Characterizing real-time reflexion-based architecture recovery: an in-vivo multi-case study
Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
JITTAC: a just-in-time tool for architectural consistency
Proceedings of the 2013 International Conference on Software Engineering
Architectural bad smells in software product lines: an exploratory study
Proceedings of the WICSA 2014 Companion Volume
Hi-index | 0.00 |
Objectives: Software architecture is perceived as one of the most important artefacts created during a system's design. However, implementations often diverge from their intended architectures: a phenomenon called architectural drift. The objective of this research is to assess the occurrence of architectural drift in the context of de novo software development, to characterize it, and to evaluate whether its detection leads to inconsistency removal. Method: An in vivo, longitudinal case study was performed during the development of a commercial software system, where an approach based on Reflexion Modelling was employed to detect architectural drift. Observation and think-aloud data, captured during the system's development, were assessed for the presence and types of architectural drift. When divergences were identified, the data were further analysed to see if identification led to the removal of these divergences. Results: The analysed system diverged from the intended architecture, during the initial implementation of the system. Surprisingly however, this work showed that Reflexion Modelling served to conceal some of the inconsistencies, a finding that directly contradicts the high regard that this technique enjoys as an architectural evaluation tool. Finally, the analysis illustrated that detection of inconsistencies was insufficient to prompt their removal, in the small, informal team context studied. Conclusions: Although the utility of the approach for detecting inconsistencies was demonstrated in most cases, it also served to hide several inconsistencies and did not act as a trigger for their removal. Hence additional efforts must be taken to lessen architectural drift and several improvements in this regard are suggested. Copyright © 2010 John Wiley & Sons, Ltd.