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
ETAPS 99 1
Understanding Legacy Systems
Arie van Deursen
Tobias KuipersLeon Moonen
ETAPS 99 2
Tooling Infrastructure
Legacy Sources
Lexical Analysis
Syntax Analysis
Data flow Analysis
Repository
Report Generator
ClusterAnalysis
Visuali-zation
Filter &Abstract
ETAPS 99 3
Redocumentation
Contents decided by maintenance
team.
Technical system knowledge lost!
Automatic extraction
Manual: additional docs, overviews
Training, changes, estimates, ...
ETAPS 99 4
Understanding Variables
100 Kloc Cobol:
25,000 different variables!
Cobol variable declarations:
Aggregation + byte representation
No types!
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
ETAPS 99 6
Applications
Y2K & Euro
Constant (de)propagation
Program-level documentation
System-level signatures
Language migrations
Object identification
ETAPS 99 7
Object Identification
Legacy data structures attributes
Legacy functionality methods
SelectDomainConcepts
Persistent data types
Progrs low fan in/out
Combination:Candidate classes!
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
9ETAPS 99
Concept
Fields
Progr. nrs
One field
Many fields
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