Reengineering component-based software systems with Archimetrix
2014
Many software development, planning, or analysis tasks require an up-to-date software architecture documentation. However, this documentation is often outdated, unavailable, or at least not available as a formal model which analysis tools could use. Reverse engineering methods try to fill this gap. However, as they process the system's source code, they are easily misled by design deficiencies (e.g., violations of component encapsulation) which leaked into the code during the system's evolution. Despite the high impact of design deficiencies on the quality of the resulting software architecture models, none of the surveyed related works is able to cope with them during the reverse engineering process. Therefore, we have developed the Archimetrix approach which semiautomatically recovers the system's concrete architecture in a formal model while simultaneously detecting and removing design deficiencies. We have validated Archimetrix on a case study system and two implementation variants of the CoCoME benchmark system. Results show that the removal of relevant design deficiencies leads to an architecture model which more closely matches the system's conceptual architecture.
Keywords:
- Systems engineering
- Functional software architecture
- Reference architecture
- Software design description
- Computer science
- Reliability engineering
- Resource-oriented architecture
- Software system
- Software architecture description
- Systems architecture
- Software architecture
- Software design
- Software engineering
- Component-based software engineering
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
61
References
12
Citations
NaN
KQI