Stop the Software Architecture Erosion: controlling and building better software systems

Sun 1:30-5:00 pm - Bonanza B
Bernhard Merkle, SICK AG, Germany

During the evolution of a software system, it becomes more and more difficult to understand the originally planned software architecture. Often a architectural degeneration happens because of various reasons during the development phases.

In this session we will be looking how to avoid such architectural decay and degeneration and how continuous monitoring can improve the situation. (and avoid architectural violations) In addition we will look at "refactoring in the large" and how refactoring can be simulated.

We will also look at some popular open source projects like ant, findbugs and eclipse (CDT/JDT) and see if and how far architectural erosions happens/ed there.

The participants will analyse a system and search with tool support for ersion areas and subsequently simulate virtual refactoring for improving the software. At the end participants will improved the system and have a good feeling how far an automated and tool supported approach can lead to better results.

AudienceResearchers, Practitioners
  • detecting architectural erosion
  • refactoring eroded areas, and avoid this in the future
  • improve software and architecture quality
Class format

This is intended as a hands-on tutorial, 3 hours in length or longer with some presentation and some exercises parts.


2009 Highlights

Barbara Liskov

In a reprise of her ACM Turing Award lecture, Barbara Liskov discusses the invention of abstract data types, the CLU programming language, clusters, polymorphism, exception handling, iterators, implementation inheritance, type hierarchies, the Liskov Substitution Principle, polymorphism, and future challenges such as new abstractions, parallelism, and the Internet.

Watch the video on InfoQ.

More Highlights