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
Objectives
  • 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

Gerard HolzmannGerard Holzmann discusses Spin, a design analyzer tool, and Scrub, a code review tool, used by Jet Propulsion Laboratory to analyze and fix the software used for critical solar system exploration missions.

Watch the video on InfoQ.

More Highlights