Use case maps for object-oriented systems
Use case maps for object-oriented systems
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Use Case Maps as Architectural Entities for Complex Systems
IEEE Transactions on Software Engineering
Active design reviews: principles and practices
ICSE '85 Proceedings of the 8th international conference on Software engineering
Playing Detective: Reconstructing Software Architecture from Available Evidence
Automated Software Engineering
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
A Scenario-Driven Approach to Trace Dependency Analysis
IEEE Transactions on Software Engineering
Developing object-oriented enterprise quality frameworks using proto-frameworks
Software—Practice & Experience - Special issue: Enterprise frameworks
Software Architecture in Practice
Software Architecture in Practice
Consistency management with repair actions
Proceedings of the 25th International Conference on Software Engineering
Making Behaviour a Concrete Architectural Concept
HICSS '99 Proceedings of the Thirty-second Annual Hawaii International Conference on System Sciences-Volume 8 - Volume 8
Architecture Analysis Tools to Support Evolution of Large Industrial Systems
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Task-directed software inspection
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
Improving system dependability by enforcing architectural intent
WADS '05 Proceedings of the 2005 workshop on Architecting dependable systems
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Discovering Architectures from Running Systems
IEEE Transactions on Software Engineering
Fixing Inconsistencies in UML Design Models
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Conformance checking of processes based on monitoring real behavior
Information Systems
Detecting Implied Scenarios from Execution Traces
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
Tool Support for Fault Localization Using Architectural Models
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Architecture compliance checking at run-time
Information and Software Technology
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Incremental Reflexion Analysis
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
JavaLog: a framework-based integration of Java and Prolog for agent-oriented programming
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Context: Conformance between architecture and implementation is a key aspect of architecture-centric development. Unfortunately, the architecture ''as documented'' and the architecture ''as implemented'' tend to diverge from each other over time. As this gap gets wider, the architects' reliance on architecture-level analyses is compromised. Thus, conformance checks should be run periodically on the system in order to detect and correct differences. In practice, tool support is very beneficial for these checks. Objective: Despite having a structural conformance analysis, assessing whether the main scenarios describing the architectural behavior are faithfully implemented in the code is still challenging. Checking conformance to architectural scenarios is usually a time-consuming and error-prone activity. In this article, we describe a tool approach called ArchSync that helps architects to reconcile a scenario-based architectural description with its source code, as changes are being made on the code. Method: The architecture is specified with Use-Case Maps (UCMs), a notation for modeling both high-level structure and behavior. ArchSync applies heuristics that incrementally detect code deviations with respect to predetermined UCMs, based on the analysis of system execution traces for those UCMs. Also, ArchSync provides suggestions for re-synchronizing the UCMs with the code. Results: We have evaluated a prototype of ArchSync in three medium-size case-studies, involving developers with moderate architecture experience. We compared time consumed, code browsed and suggestions for re-synchronizing the UCMs by these developers, with and without the support of ArchSync. Conclusion: The results from case-studies and lessons learned have shown that the ArchSync approach is practical and reduces conformance checking efforts.