Abstraction : a notion for reverse engineering.

Xiaodong Liu · DMU Open Research Archive (De Montfort University) · 1999

The importance and popularity of software reengineering increase as more and more successful computing systems become legacy systems.However, one prominent problem hinders software engineers from effective and efficient reengineering of legacy systems, that is, the difficulty of comprehension of the original system.This difficulty is due to constant system evolution and incomplete or obsolete documents which legacy systems tend to have.It is proved that the most or only reliable information on a legacy system is source code itself.However, source code is difficult to understand, especially when in a large amounf.Since program design or specification is at a higher abstraction level, which is more concise and easier to understand, successful extraction of semantics-oriented specification from legacy source code will facilitate the comprehension and therefore reengineering of legacy systems greatly.The thesis first proposes a unified approach for software reengineering based on the characteristics of legacy systems.The approach is based on the construction of a wide spectrum language, known as RWSL, which enjoys a sound formal semantics.The architecture and working flow of the approach are proposed, and the structure of RWSL is defined to provide a spectrum of abstractions of the reengineered system, from source code to specification.Based on this framework, the thesis then focuses on engaging abstraction technology to extract formal specification from legacy source code.A taxonomy of abstraction is developed to identify diverse kinds of abstractions.Monotonicity and relations between these abstractions are formally described.For practical reverse engineering, a set of abstraction rules are developed to solve how to conduct abstraction.All these rules are formally defined and proved sound.Healthiness obligations are developed as axioms to guarantee correct and sensible abstraction during reverse engineering.A formal notation is adopted widely to provide a solid unambiguous semantic foun-Contents 1 5.3.2Semantics ..

Read the paper · More papers on PaperTik