Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
ICSE '94 Proceedings of the 16th international conference on Software engineering
xlinkit: a consistency checking and smart link generation service
ACM Transactions on Internet Technology (TOIT)
ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
Java 2 by Example
Design erosion: problems and causes
Journal of Systems and Software
Event-Based Traceability for Managing Evolutionary Change
IEEE Transactions on Software Engineering
DiscoTect: A System for Discovering Architectures from Running Systems
Proceedings of the 26th International Conference on Software Engineering
EMF: Eclipse Modeling Framework 2.0
EMF: Eclipse Modeling Framework 2.0
A Comparison of Static Architecture Compliance Checking Approaches
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
Checking architectural compliance in component-based systems
Proceedings of the 2010 ACM Symposium on Applied Computing
Controlling software architecture erosion: A survey
Journal of Systems and Software
Hi-index | 0.00 |
Software architecture provides a high-level design that serves as the basis for system implementation and communication among stakeholders. However, changes in requirements and lack of conformance checks during development can cause the implemented architecture to deviate from the intended one. Such architecture degradation can cause rapid software aging and high maintenance costs. Conformance checking to detect inconsistencies between a model and its corresponding implementation is one of the strategies used to minimise architecture degradation. Existing conformance checking tools often require formal architecture specifications, which are not usually available outwith academic settings, or manual intervention in the process, which affects their viability. This paper describes an automated approach that uses mappings between architecture models in UML and corresponding implementations in Java to check conformance. These notations have been chosen for their adoption in industry. A customisable tool called Card, which implements this approach, is also introduced and evaluated.