Improving program understanding by unfolding layers of interacting patterns

RENÉ R. KLÖSCH, Roland T. Mittermeir · 2002

Reverse engineering of legacy systems is a cumbersome task. Some of its aspects can be automated reasonably well, others are better not touched or require the intervention of a human expert. In an attempt to improve our rearchitecturing methodology, COREM, we found that various patterns, software developers use or have to use when developing systems, can serve to support the program understanding part of the reverse engineering process. We depart from the widely accepted hypothesis that software developed by experts is not a mere sequence of relatively primitive statements, but rather the result of a set of interacting, time and situation specific problem, design, and language patterns. To support these considerations, the paper shows how different language paradigms influence the actual code even with a simple problem. The extension of these ideas to interacting high level design patterns is motivated.

Read the paper · More papers on PaperTik