Presentation

advertisement
Information Software Systems
Model Driven Engineering in modern Software
Development Process
Vlad Volkov
Program Manager
Information Software Systems
18 May 2007
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
Information Software Systems
Contents






Who we are: short overview of model driven engineering
projects at ISS
Problem and solution
Why verification?
Verification strategy
Subsequent tests generation
What is next?: conclusion
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
2
Information Software Systems
Who we are: short overview of model driven
engineering projects at ISS



1999-2000: first Motorola project on automated
requirements capturing conducted by research group from
Glushkov Institute of Cybernetics headed b y Alexander
Letichevsky and Julia Kapitonova
2000: ISS begins his operations, Motorola locates a project
with a goal to create high-quality software product aimed at
automated support of the initial phase of software project - deriving of consistent and complete specifications from
initial requirements
2001: In parallel, ISS is requested by Motorola to define
and institutionalize SWD practices of SEI CMM Level 3
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
3
Information Software Systems
Who we are: short overview of model driven
engineering projects at ISS (cont.)




2002:first product release of VRS (Verification of
Requirements Specifications) tools for checking formal
specifications
2003: first successful piloting of VRS tools in industrial
projects of Motorola projects
2004: Developed possibilities for automated tests
generation with respect to initial MSC specifications
2004-2006: Participation in Motorola projects on automated
code C/C++ generation from models written in SDL and
UML.
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
4
Information Software Systems
Software Development Catastrophes*








CONFIRM travel information system: $160 million
Denver Airport baggage handling: $200 million
London Stock Exchange’s Taurus: £400 million
London Ambulance Service dispatching: £9 million
Pentium FDIV bug: $500 million (found with formal
analysis!)
average schedule slips by 50%
25% of all large systems are cancelled
3/4 of all large systems are operating failures
*(from Software Engineering Computer Science Tripos Part IA, Part II (General) Lent Term,
1997,Lawrence C Paulson Computer Laboratory University of Cambridge Copyright c 1997 by
Lawrence C. Paulson)
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
5
Information Software Systems
The problem and the solution

Inevitable uncertainties and conflicts in the behavioral
requirements for large and very large projects cause
enormous delays in releasing high quality products and
unwanted increase of Cost-Of-Quality

Manual analysis of behavioral/functional requirements in
large scale projects becomes a stopper

Formalization of behavioral requirements in MSC/SDL/UML
and their formal verification for consistency and
completeness may help to improve their quality at the
initial phases of a software project
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
6
Information Software Systems
Where are the costs incurred?
In requirements!
Faulty requirements have
significant impact **
Cost of fixing requirements defects
increases exponentially with time *
[B.Boehm]
Cost to fix
error
requirements
design
modeling and coding
25%
50%
25%
Requirements/
Design
ImpleTesting
mentation
* Barry W.Boehm, "Software Engineering
Economics", Prentice-Hall, Inc., 1981,
ISS
** Industry post release defects analysis,
2004


Requirements Management
Requirements Verification
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
7
Information Software Systems
40%-20%-40%



Well known estimate of efforts distribution
through software development phases (Design –
Coding – Testing) :
40%-20%-40%
- Maximum effect of efforts reduction shall be
achieved on Design and Testing phases. Main
investments into code/test automation and
generation should be made on these phases.
Now Test automation is a widely accepted
practice in industry. Verification of Requirements
& Specifications only started to be used.
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
8
Information Software Systems
Business gains with VRS



1. Increase of product quality
due to more defects found
2. Decrease of Cost-OfQuality due to earlier finding
of defects
1. Shorter time to market
due to cycle time reduction
Defects
Gain in σ-quality
New
Old
Gain in
COQ &
CTR
Time
Release date
Conditions of efforts reduction:
- Usage of formal engineering languages on the Design stage
- Total efforts reduction in SW projects is achieved by reduction of
design and testing manual efforts
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
9
Information Software Systems
Why verification?
Program testing can be used to show the
presence of bugs, but never to show their
absence!” (E. W. Dijkstra, 1979)
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
10
Information Software Systems
Verification strategy


Formalization and verification is hidden from the user
Input captured in engineering notations: MSC, SDL, UML




Specification of system behavior
Dynamic properties of the system
Library of predefined properties
“It should never be the case that a
phone connects to a phone that is
not ringing because of this call.”
Verifier operates fully automatically
Requirement
Capture
Informal
MSC
Reqmts.
SDL
(DOORS)
UML
Properties
UK
Specs
in
formal
logic
A&~B&(c=>D)
F0=>c\/~D
ISS
Verdict
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
USA
RMTR
air_in
taxi_in
taxi_out
air_out
Scenarios violating
properties or traces
for residual testing
18 May 2007
11
Information Software Systems
Classification of defects
documentation


Defects found in
system state space


Transition inconsistency – nondeterministic behavior – equivalent preconditions, but different actions afterward

Safety – violation of a specified safety
(liveness) property – the timer is stopped
only if it was started; or “the lift door shall
be always closed while the lift is moving”

Timing violation – mismatch of specified
event ordering with respect to their
timing provided in absolute or relative
units
basic protocols
annotations
timing
ISS
Discrepancy – document problem – wrong
reference, absence of information, etc.;
typos and obvious slips are not counted!
Unreachability – the system will never be
in that state – analog of “dead code”
Deadlock – from this system state no
further transition is possible, usually
some incompleteness in requirements
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
12
Information Software Systems
Piloting VRS
Project
Telecom
municati
on 1
Telemati
cs 1
Telecom
municati
on 2
Telecom
municati
on 3
Telemati
cs 2
Telemati
cs 3
Telemati
cs 4
Telcom
municati
on 4
ISS
Defect
s
found
Generated
traces with
counterexamples
Effort
in staffweeks
Estimat
ed
COQ/
COPQ
reducti
on
50%
11
0
5.5
45%
70
100%
10
3
5.6
No data
730
192
100%
18
7
20
50%
~1500
56
50%
8
5
5.5
40%
323
219
60%
38
8
3
45%
116
42
3
1
0.7
40%
~1500
3005
129
7
22,5
55%
~2000
2311
223
17
21,3
60%
Reqs &
related
docs in
pages
Number of
MSCs in
formalized
specs
400
127
200
Coverage
of
original
reqs
100%
100%
100%
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
13
Information Software Systems
Benefits of testing based on verified
specification







Decrease of test efforts by up to 50%
5X decrease in manual efforts for verifying the product quality
Organize smooth testing life-cycle based on work with graphical
specifications only
Increase test suites reuse ratio (more than 50-60%) and support test
suites reuse
Increase confidence in absence of hard-to-find errors
Increase test coverage while reducing testing time. Generated test
suite will be minimal in size and maximal in coverage.
Generating from correct formal specifications 100% stand-alone tests
and test environment for C, C++, Java and various scripting languages
and platforms.
ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
14
Information Software Systems
Where VRS could be applied?


The tool is ready for application in large-scale projects
(thousands of functional requirements) from Telematics and
Telecommunication domains.
Additional adjustment is needed for Automotive and
detection of security issues in Inet protocols.

ISS
Modern SW Development Practices: Processes and Technologies
(c) 2007 Information Software Systems
18 May 2007
15
Download