R1 Reverse Engineering (Wednesday 11.00-12.30)
(Room: Roy Griffith)
Chair: Cornelia Boldyreff, University of Durham, UK
Requirements Recovery from Legacy Systems by Analysing and Modeling
Behavior: K. Liu, A. Alderson and Z. Qureshi, Staffordshire University,
Requirements Recovery from Legacy Systems by Analysing and Modelling Behaviour
Kecheng Liu, Albert Alderson, Zubair Qureshi
Legacy systems have become inadequate in their ability to support current and future business operations. But many of these systems are assets and even indispensable, because they hold key information for the company and they support key business operations. For any re-engineering of the legacy system such as alteration, modification or complete rebuild, to understand the original requirements can be important and sometimes critical. However, experience in industry shows one should never assume the availability of the system documents; even if they are available, the documents may be out-of-date.
The semiotic approach we present in this paper, aims at recovering requirements by studying the legacy system's behaviour. Using this approach, the requirements recovery consists of investigation activities at three major stages with a set of techniques for analysis and representation. The approach guides the analysis to be conducted from a number of angles at certain levels of detail using various software engineering and semiotic techniques. These techniques enable one to study a legacy system from perspectives of different stakeholders, from its interaction with the users in the business context, and from information contents and processes of system operations. The results of analysis from these perspectives will be synthesised for derivation of the requirements. A case study applying this approach to recover requirements for a university's multi-site library is presented.
Recovering High-Level Views of Object-Oriented Applications by Combining Static and Dynamic Information
Tamar Richner, Stephane Ducasse
Recovering architectural documentation from the code is crucial in the maintenance and reengineering of software systems. Reverse engineering and program understanding approaches are often limited by the fact that (1) they propose a fixed set of predefined views and (2) they consider either purely static or purely dynamic views of the application. In this paper we present an environment supporting the generation of tailorable views of object-oriented systems from both static and dynamicinformation. Our approach is based on the combination of user-defined queries which allow an engineer to create high-level abstractions and to produce views using these abstractions.
Extracting Objects of ADA Programs Using Module Features
Yuming Zhou and Baowen Xu
Reengineering legacy systems written in conventional procedural languages to equivalent OO systems makes software more maintainable and reliable. In this paper, a method for extracting objects from legacy ADA 83 systems using module features is proposed. First, we develop metrics to measure module cohesion. Then, effects on cohesion from changing module components are discussed and rules on how to extract inheritance relations among objects are given. Finally, an object identification tool in APAUS is described.