Discovering, visualizing, and controlling software structure
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
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
Case Studies for Method and Tool Evaluation
IEEE Software
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding
ICSM '97 Proceedings of the International Conference on Software Maintenance
Journal of Software Maintenance: Research and Practice
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
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
Static Evaluation of Software Architectures
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
Query Technologies and Applications for Program Comprehension (QTAPC 2008)
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Guidelines for conducting and reporting case study research in software engineering
Empirical Software Engineering
Assessing architectural drift in commercial software development: a case study
Software—Practice & Experience
JITTAC: a just-in-time tool for architectural consistency
Proceedings of the 2013 International Conference on Software Engineering
Proceedings of the WICSA 2014 Companion Volume
Hi-index | 0.00 |
Architecting software systems is an integral part of the software development lifecycle. However, often the implementation of the resultant software ends up diverging from the designed architecture due to factors such as time pressures on the development team during implementation/evolution, or the lack of architectural awareness on the part of (possibly new) programmers. In such circumstances, the quality requirements addressed by the as-designed architecture are likely to be unaddressed by the as-implemented system. This paper reports on in-vivo case studies of the ACTool, a tool which supports real-time Reflexion Modeling for architecture recovery and on-going consistency. It describes our experience conducting architectural recovery sessions on three deployed, commercial software systems in two companies with the tool, as a first step towards ongoing architecture consistency in these systems. Our findings provide the first in-depth characterization of real-time Reflexion-based architectural recovery in practice, highlighting the architectural recovery agendas at play, the modeling approaches employed, the mapping approaches employed and characterizing the inconsistencies encountered. Our findings also discuss the usefulness of the ACTool for these companies.