10
ETAPS 99 1 Understanding Legacy Systems Arie van Deursen Tobias Kuipers Leon Moonen

Understanding Legacy Systems

  • Upload
    gotzon

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Understanding Legacy Systems. Arie van Deursen Tobias Kuipers Leon Moonen. Tooling Infrastructure. Lexical Analysis. Report Generator. Legacy Sources. Repository. Syntax Analysis. Cluster Analysis. Data flow Analysis. Visuali- zation. Filter & Abstract. Redocumentation. - PowerPoint PPT Presentation

Citation preview

Page 1: Understanding  Legacy Systems

ETAPS 99 1

Understanding Legacy Systems

Arie van Deursen

Tobias KuipersLeon Moonen

Page 2: Understanding  Legacy Systems

ETAPS 99 2

Tooling Infrastructure

Legacy Sources

Lexical Analysis

Syntax Analysis

Data flow Analysis

Repository

Report Generator

ClusterAnalysis

Visuali-zation

Filter &Abstract

Page 3: Understanding  Legacy Systems

ETAPS 99 3

Redocumentation

Contents decided by maintenance

team.

Technical system knowledge lost!

Automatic extraction

Manual: additional docs, overviews

Training, changes, estimates, ...

Page 4: Understanding  Legacy Systems

ETAPS 99 4

Understanding Variables

100 Kloc Cobol:

25,000 different variables!

Cobol variable declarations:

Aggregation + byte representation

No types!

Page 5: Understanding  Legacy Systems

ETAPS 99 5

Type Inference for COBOL

Give each variable unique primitive type

Infer type-equiv. and subtype relations

x + y, x == y, x := y, literals, ...

DB operations, calls, copybooks

Partial order of equivalence classes

O’Callahan ‘97: C Henglein ‘99: Y2K

WCRE’98, IWPC’99

Page 6: Understanding  Legacy Systems

ETAPS 99 6

Applications

Y2K & Euro

Constant (de)propagation

Program-level documentation

System-level signatures

Language migrations

Object identification

Page 7: Understanding  Legacy Systems

ETAPS 99 7

Object Identification

Legacy data structures attributes

Legacy functionality methods

SelectDomainConcepts

Persistent data types

Progrs low fan in/out

Combination:Candidate classes!

Page 8: Understanding  Legacy Systems

ETAPS 99 8

Concept Analysis

Concept (I, F ):

maximal set of items I II

sharing set of features F FF

From feature table T I I FF

generate all concepts

Lattice: (I1, F1) (I2, F2 ) I1 I2

Siff/Reps’97Lindig/Snelting’97IWPC’98, ICSE’99

Page 9: Understanding  Legacy Systems

9ETAPS 99

Concept

Fields

Progr. nrs

One field

Many fields

Page 10: Understanding  Legacy Systems

ETAPS 99 10

System Understanding

Analysis of legacy sources

Select good parts

Filter out hopeless elements

Combine & present in novel ways

Tool support rather than automation