Software Maintenance and Reengineering - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Software Maintenance and Reengineering

Description:

Data Model: Kristen Vadas, Jeremy Haile, Mike Caudle, ... 40-75% of total costs in maintenance phase ... Reflexion RM Tool result. Rigi Environment. Research ... – PowerPoint PPT presentation

Number of Views:159
Avg rating:3.0/5.0
Slides: 20
Provided by: Robert9
Category:

less

Transcript and Presenter's Notes

Title: Software Maintenance and Reengineering


1
Software Maintenance and Reengineering
  • CS4320
  • Fall 2003

2
Teams
Database Brett Flury, Tom Case Server Spencer
Huang, Josh Thames GUI Chelsea Morrisey, Bruce
Ota, Deepak Subramainian PSP Dan Frazier,
Charlie Murff TSP Gavin Cramblet, Eric Tsai Data
Model Kristen Vadas, Jeremy Haile, Mike Caudle,
Robert Gash Services
Viona Tjong, Michael Johnson, Nitika Raj
Iteration Plan
3
Motivation
  • 40-75 of total costs in maintenance phase
  • The process of modifying the software system
    after delivery to correct faults, improve
    performance or other attributes, or adapt to a
    change in environment.

4
Categories of Maintenance
  • Corrective
  • Improvement, Perfective, Evolutive
  • Preventative
  • Adaptive

Majority appears to be concerned with
evolution. PerfectiveAdaptive Reengineering
5
Laws of Maintenance
  • A program that is used in a real world
    environment necessarily must change or become
    progressively less useful in that environment.
  • As an evolving program changes, its structure
    tends to become more complex. Extra resources
    must be devoted to preserving the semantics and
    simplifying the structure.

6
Challenges of Maintenance
  • Alignment with organizational objectives
  • Process issues
  • Technical issues
  • Program Understanding
  • Selective Testing
  • Ripple Effect
  • Traceability
  • Personnel issues
  • Lower status
  • Motivation
  • Financial gain through follow-on contracts

7
Stages of MaintenanceIEEE Std 1219
  • Problem Identification
  • Analysis/Redocumentation
  • Design
  • Implementation
  • System Test
  • Acceptance Test
  • Delivery
  • CM, Risk Mgmt, QA, Safety, Security,Metrics,
    Planning and a host of supporting processes

Look Familiar????
8
Top Ten Failure Causes of Reengineering Efforts
  • Adoption of a flawed or incomplete strategy
  • Inappropriate use of contractors/consultants
  • Org tied to old technologies and poor tools
  • Legacy system not under control
  • Poor elicitation and validation of requirements
  • Software architecture not prime consideration

9
Top Ten Failure Causes of Reengineering Efforts
  • No separate and distinct reverse engineer process
  • Inadequate planning or no resolve to follow plan
  • Lack of long term commitment
  • Management predetermines technical decisions

10
How do we understand the existing code base?
  • Documentation
  • Human Experts
  • Reverse Engineering
  • The process of analyzing a subject system to
    identify the systems components and their
    inter-relationships, and to create
    representations of the system in another form or
    at higher levels of abstraction.
  • Passive activity
  • Program Comprehension/Plan Recognition
  • Concept Assignment
  • Architectural Recovery

11
Reverse Engineering
include ltstdio.hgt main(t,_,a)char
areturn!0ltt?tlt3?main(-79,-13,amain(-87,1-_,
main(-86,0,a1)a))1,tlt_?main(t1,_,a)3,main(-94
,-27t,a)t2?_lt13? main(2,_1,"s d
d\n")916tlt0?tlt-72?main(_,t,
"_at_n','/w/wcdnr/,r/de,/,/w,/wq
n,/l,/nn,/n,/\ qn,/k,/'r
'd'3,wK w'K'e'dq'l \
q'd'K!/kq'reKKw'reKKnl'/qn'))w
'))nl'/n'drw' i \ )nl!/nn' rw'r
ncnl'/l,'K rw' iKnl'/wqn'wk nw' \
iwkKKnl!/w'lw' i nl'/q'ldr'nlwb!
/de'c \ nl'-rw'/,'nc,',nw'/kd'e
'rdqw! nr'/ ') rl'n' ') \
'(!!/") tlt-50?_a?putchar(31a)main(-65,
_,a1)main((a'/')t,_,a1) 0ltt?main(2,2,"s")
a'/'main(0,main(-61,a, "!ekdc
i_at_bK'(q)-wnr3l,\nuwloca-Om
.vpbks,fxntdCeghiry"),a1)
12
Reverse Engineering
  • Tools
  • Call-graph generators (Static)
  • Cflow
  • browsers
  • Trace-based (Dynamic)
  • ISVis
  • Document Scanning (Text Data Mining)
  • Remora
  • Reflection
  • RM Tool
  • Environments
  • Rigi
  • Refine

13
Cflow example
14
ISVis
15
ISVis
16
RM Tool Process
17
Reflexion RM Tool result
18
Rigi Environment
19
Research
  • But all that stuff requires source code, what if
    all we have is binary?
  • Can we ever cross the concept assignment gap?
  • Text Data Mining
  • Concept Analysis
Write a Comment
User Comments (0)
About PowerShow.com