Building reverse engineering or reengineering tools often requires parsers for many different programming languages. The diffusion of dialects and variants makes many available pa...
Program transformation systems provide one means of formally deriving a program from its speci cation. The main advantage of this development method is that the executable program...
Tools that analyze and enhance large-scale software systems using symbolic reasoning are computationally expensive, and yet processors are cheap. We believe that enabling tools wi...
The subsystem decomposition of a software system degrades gradually during its lifetime and therefore it gets harder and harder to maintain. As a result this decomposition needs t...
Olaf Seng, Markus Bauer, Matthias Biehl, Gert Pach...
Design patterns have been widely adopted and well investigated by the software engineering community over the past decade. However, their primary use is still associated with forw...