The Build-Time Software Architecture View
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Using dependency models to manage complex software architecture
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A case study in re-engineering to enforce architectural control flow and data sharing
Journal of Systems and Software
Fine-grain analysis of common coupling and its application to a Linux case study
Journal of Systems and Software
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Automated Architecture Consistency Checking for Model Driven Software Development
QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
Toward a Catalogue of Architectural Bad Smells
QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
Software architecture awareness in long-term software product evolution
Journal of Systems and Software
Assessing architectural drift in commercial software development: a case study
Software—Practice & Experience
A development process for building OSS-Based applications
SPW'05 Proceedings of the 2005 international conference on Unifying the Software Process Spectrum
Improving the build architecture of legacy c/c++ software systems
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Resolving architectural mismatches of COTS through architectural reconciliation
ICCBSS'05 Proceedings of the 4th international conference on COTS-Based Software Systems
Proceedings of the Eleventh ACM International Conference on Embedded Software
Hi-index | 0.00 |
As a software system evolves, its architecture will drift. System changes are often done without considering their effects on the system structure. These changes often introduce structural anomalies between the concrete (as-built) and the conceptual (as-designed) architecture, which can impede program understanding. The problem of architectural drift is especially pronounced in open source systems, where many developers work in isolation on distinct features with little co-ordination. In this paper, we present our experiences with repairing the architectures of two large open source systems (the Linux operating system kernel and the VIM text editor) to aid program understanding. For both systems, we were successful in removing many structural anomalies from their architectures.