kirancodes.me
To Proof Maintenance & Beyond!

Preventing erosion of architectural tactics through their strategic implementation, preservation, and visualization

Mehdi Mirakhorli

Abstract

Nowadays, a successful software production is increasingly dependent on how the final deployed system addresses customers' and users' quality concerns such as security, reliability, availability, interoperability, performance and many other types of such requirements. In order to satisfy such quality concerns, software architects are accountable for devising and comparing various alternate solutions, assessing the trade-offs, and finally adopting strategic design decisions which optimize the degree to which each of the quality concerns is satisfied. Although designing and implementing a good architecture is necessary, it is not usually enough. Even a good architecture can deteriorate in subsequent releases and then fail to address those concerns for which it was initially designed. In this work, we present a novel traceability approach for automating the construction of traceabilty links for architectural tactics and utilizing those links to implement a change impact analysis infrastructure to mitigate the problem of architecture degradation. Our approach utilizes machine learning methods to detect tactic-related classes. The detected tactic-related classes are then mapped to a Tactic Traceability Pattern. We train our trace algorithm using code extracted from fifty performance-centric and safety-critical open source software systems and then evaluate it against a real case study.

BibTeX
@inproceedings{Mirakhorli:ASE13,
  author    = {Mehdi Mirakhorli},
  title     = {Preventing erosion of architectural tactics through their strategic implementation, preservation, and visualization},
  booktitle = {ASE},
  pages     = {762--765},
  publisher = {{IEEE}},
  year      = {2013},
}

Related papers