When, Where, and Why Do Software Systems’ Architectures Decay
The Faculty of Informatics is pleased to announce a seminar given by Nenad Medvidovic
DATE: Wednesday, October 17th, 2012
PLACE: University of Lugano, room SI-006, Informatics building (Via G. Buffi 13)
Engineers frequently neglect to carefully consider the impact of their changes to a software system. As a result, the software system's architecture eventually deviates from the original designers' intent and degrades through unplanned introduction of new and/or invalidation of existing design decisions. Architectural decay increases the cost of making new modifications and decreases a system's reliability, until engineers are no longer able to effectively evolve the system. At that point, the system's actual architecture may have to be recovered from the implementation artifacts, but this is a time-consuming and error-prone process, and leaves
critical issues unresolved: the problems caused by architectural decay will likely be obfuscated by the system's many elements and their interrelationships, thus risking further decay. In this talk I will focus on pinpointing locations in a software system's architecture that reflect architectural decay. I will discuss the reasons why that decay occurs. Specifically, I will present an emerging catalog of commonly occurring symptoms of decay -- architectural "smells". I will illustrate the occurrence of smells identified in the process of recovering the architectures of several real-world systems.
Nenad Medvidovic is a Professor and Associate Chair for Ph.D. Affairs in the Computer Science Department at the University of Southern California.
He is the director of the USC Center for Systems and Software Engineering (CSSE). Medvidovic was the Program Co-Chair of the 2011 International Conference on Software Engineering (ICSE 2011). Medvidovic is a recipient of the National Science Foundation CAREER (2000) award, the Okawa Foundation Research Grant (2005), the IBM Real-Time Innovation Award (2007), and the USC Mellon Mentoring Award (2010). He is a co-author of the ICSE 1998 paper titled "Architecture-Based Runtime Software Evolution", which was recognized as that conference's Most Influential Paper. Medvidovic's research interests are in the area of architecture-based software development. His work focuses on software architecture modeling and analysis; middleware facilities for architectural implementation; domain-specific architectures; architectural styles; and architecture-level support for software development in highly distributed, mobile, resource constrained, and embedded computing environments. He is a co-author of a textbook on software architectures.
HOST: Prof. Mauro Pezzè