Software architecture in industrial applications
Proceedings of the 17th international conference on Software engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Formalizing architectural connection
ICSE '94 Proceedings of the 16th international conference on Software engineering
SAAM: a method for analyzing the properties of software architectures
ICSE '94 Proceedings of the 16th international conference on Software engineering
A relational approach to support software architecture analysis
Software—Practice & Experience
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Using Software Maintainability Models to Track Code Health
ICSM '94 Proceedings of the International Conference on Software Maintenance
Improving Code Churn Predictions During the System Test and Maintenance Phases
ICSM '94 Proceedings of the International Conference on Software Maintenance
A Cliche'-Based Environment to Support Architectural Reverse Engineering
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Reverse Engineering Concurrent Programs using Formal Modelling and Analysis
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding
ICSM '97 Proceedings of the International Conference on Software Maintenance
Reverse Architecting Approach for Complex Systems
ICSM '97 Proceedings of the International Conference on Software Maintenance
Extracting Abstract Data Types from C Programs: A Case Study
ICSM '93 Proceedings of the Conference on Software Maintenance
Software architecture recovery using Conway's law
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Software Metrics Model For Quality Control
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Recovering abstract data types and object instances from a conventional procedural language
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Recognizers for extracting architectural features from source code
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
The Orphan Adoption Problem in Architecture Maintenance
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Using Visualization for Architectural Localization and Extraction
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Identification of Green, Yellow and Red Legacy Components
ICSM '98 Proceedings of the International Conference on Software Maintenance
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Quantitative Analysis of Development Defects to Guide Testing: A Case Study
Software Quality Control
Deriving a Fault Architecture to Guide Testing
Software Quality Control
IEEE Transactions on Software Engineering
Predicting risky modules in open-source software for high-performance computing
Proceedings of the second international workshop on Software engineering for high performance computing system applications
Hi-index | 0.00 |
As software systems mature, there is the danger that not only code decays, but software architecture as well. We adapt a reverse architecting technique to defect reports of a series of releases. Relationships among system components are identified based on whether they are involved in the same defect report, and for how many defect reports this occurs. There are degrees of fault-coupling between components depending on how often two components are involved in a defect fix. After these fault-coupling relationships between components are extracted, they are abstracted to the subsystem level. The resulting fault architecture figures show for each release what its most fault-prone relationships are. Comparing across releases shows whether some relationships between components are repeatedly fault prone, indicating an underlying systemic architecture problem. We illustrate our technique on a large commercial system consisting of over 800 KLOC of C, C++, and microcode.