hany h. ammar

44
1 Hany H. Ammar LANE Department of Computer Science and Electrical Engineering West Virginia University, Morgantown, West Virginia, USA, and Faculty of Computers and Information, Cairo University, Cairo, Egypt Introduction to Risk Management And Software Architecture Risk Assessment م ي ح ر ل ا ن م ح ر ل له ا ل م ا س ب له ل ول ا س ى ر عل لام س ل وا! لاة ص ل له ، وا ل مد ح ل ا

Upload: beulah

Post on 08-Jan-2016

44 views

Category:

Documents


3 download

DESCRIPTION

بسم الله الرحمن الرحيم الحمد لله ، والصلاة والسلام على رسول الله. Introduction to Risk Management And Software Architecture Risk Assessment. Hany H. Ammar LANE Department of Computer Science and Electrical Engineering West Virginia University, Morgantown, West Virginia, USA, and - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hany H. Ammar

1

Hany H. Ammar

LANE Department of Computer Science and Electrical EngineeringWest Virginia University, Morgantown, West Virginia, USA, and

Faculty of Computers and Information, Cairo University, Cairo, Egypt

Introduction to Risk Management And Software Architecture Risk Assessment

الرحيم الرحمن الله بسمالله رسول على والسالم والصالة ، لله الحمد

Page 2: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 2

OUTLINE

• Risk Management• Software Architecture Risk Assessment

– Maintainability-based risk • Conclusions• Next Steps

Page 3: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 3

Risk Management

Page 4: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 4

Page 5: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 5

For NASA Programs

• RISK MANAGEMENT: An organized, systematic decision-making process that efficiently identifies risks, assesses or analyzes risks, and effectively reduces or eliminates risks to achieving program goals.

• RISK: A Program “Risk” is any circumstance or situation that poses a threat to: crew or vehicle safety, Program controlled cost; Program controlled schedule; or major mission objectives, and for which an acceptable resolution is deemed unlikely without a focused management effort

Page 6: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 6

Risk Management Cycle

Identify: Identify that a risk exits and give it a meaningful name.

Analyze: Determine the severity of the risk according to the risk matrix. If the risk is negligible (low to medium severity, low likelihood of occurrence), stop here. However, if the risk could cause damage to the system or the system's users, continue.

Plan: Decide how to combat the risk based on the risk's severity and likelihood of occurrence.

Mitigate: Follow the plan formulated in the previous phase as closely as possible to combat the risk. If this approach does not work, return to the previous phase and make a new plan. If the plan does work, continue analyzing the risk to determine whether it has been reduced to an acceptable severity level.

Track: Once the risk has been mitigated to an acceptable severity level, the risk should be tracked to ensure the continued control of the risk. If at any time the risk seems to resurface, the risk management cycle should begin again, starting with the analysis phase.

Page 7: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 7

Page 8: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 8

Risk Definition

• According to NASA Software Safety Technical Standard, risk is defined as: “exposure to the chance of injury or loss. It is a function of the possible frequency of occurrence of the undesired event, of the potential severity of resulting consequences, and of the uncertainties associated with the frequency and severity”.

• For software intensive systems, a risk is a combination of a likelihood of occurrence of an abnormal event or failure and the potential consequences or severity of that event or failure to a system's operators, users, or environment

Page 9: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 9

Risk Matrix

SeverityLikelihood of Occurrence

Probable Occasional Remote Improbable

Catastrophic High HighHigh-Medium

Medium

Critical HighHigh-Medium

MediumMedium-

Low

MarginalHigh-Mediu

mMedium

Medium-Low

Low

Negligible MediumMedium-

LowLow Low

Page 10: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 10

Page 11: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 11

NASA IV&V Facility

NPD 2820.1C for Software IV&V Policy states:

"Task the IV&V Facility in Fairmont, West Virginia to manage the performance of all IV&V for software identified per the established

criteria, and for any other safety critical software (as defined in NASA-STD-8719.13)"

Page 12: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 12

IV&V Function

• Software Independent Verification & Validation (IV&V) is a systems engineering process employing rigorous methodologies for evaluating the correctness and quality of the software product throughout the software life cycle.

• Software IV&V is adapted to the characteristics of the project. Different projects require different level of IV&V

Page 13: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 13

IV&V Lifecycle Activities

• Life-cycle IV&V is designed to mesh with the Project schedule and provide timely inputs to mitigate risk

• Dialog between the IV&V Facility and the Project must begin before SRR

• For most Projects, IV&V ends (and the Final Report is delivered) on or about MRR. Some Projects have extended S/W development post-launch or major upgrades/maintenance (e.g. Shuttle, MER)

System Requirements Review

Preliminary DesignReview

CriticalDesignReview

System Test

S/W FQT

Initial IVVPSigned

Mission Readiness Review

Concept Phase

2.0

Requirements Phase

3.0

Design Phase

4.0

Implementation Phase

5.0

Test Phase

6.0

Operations &Maintenance Phase

7.0

Baseline IVVPSigned

- IV&V provides support and reports for Project milestones - Technical Analysis Reports document major phases- IVVP is updated to match changes in Project

IV&VProvidesCoFR

IV&V Final Report

IV&V Phase Independent Support1.0

SystemRetirement

Launch

Note: numbers correspond to IV&V WBS

Page 14: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 14

Software Project Resolution

1. Successful Projects– Completed and operational, and:

• On Schedule• On Cost• With all originally specified features and functions

2. Challenged Projects– Completed and operational, but:

• Behind Schedule------- Project Risk• Over Cost--------------- Project Risk• With fewer features and functions than originally specified

------------ Product Risk 3. Failed Projects:

– Cancelled before completion or never implemented

Project Resolution is commonly categorized into three resolution types:

Page 15: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 15

Software CHAOSThe Standish Group has examined 30,000 Software Projects in the US since 1994. This "CHAOS" research has revealed a decided improvement in IT project management with the implementation of standards and practices such as IV&V. This improvement correlates with the rise in project success depicted in the chart below:

16% 53% 31%

27% 33% 40%

26% 46% 28%

28% 49% 23%

0% 20% 40% 60% 80% 100%

1994

1996

1998

2000

Successful

Challenged

Failed

Project Resolution History (1994-2000)

The Standish Group International, Inc.: Extreme CHAOS (2001) - The 2001 update to the CHAOS report. http://www.standishgroup.com/sample_research/PDFpages/extreme_chaos.pdf

Page 16: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 16

Error Detection/CorrectionEarly error detection and correction are vital. The cost to correct software errors multiplies during the software development lifecycle. Early error detection and correction reduce costs and save time.

Test

Code

Design

Requirements

0

5

10

15

20

25

30

35

40

45

50

Relative Cost to Fix

Phase Found

De

fec

t

Ty

pe

Relative Cost to Fix Defects per Phase Found

Test Code Design Requirements

Direct Return on Investment of Software Independent Verification and Validation: Methodology and Initial Case Studies, James B. Dabney and Gary Barber, Assurance TechnologySymposium, 5 June 2003.

Page 17: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 17

IV&V Characteristics• Includes Risk Identification and Mitigation Techniques • Provides Independent Evaluation / Assessment of:

– Are we building the product right? = Verification – Are we building the right product? = Validation

• Requires Technical, Managerial and Financial Independence • Makes a value added contribution, everyone shares the same

mission success objective– For NASA Management - Provides Mission Assurance – For Project Management - Provides Unbiased Source of Help

• Helps deliver – Risk Identification and Mitigation– Increased Quality and Safety – Improved Timeliness and Reliability – Reduced Rework Cost

NPD 8730.4: Requires NASA programs and projects that contain mission or safety critical software to document decisions concerning the use of IV&V.

Page 18: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 18

OUTLINE

• Risk Management• Software Architecture Risk Assessment

– Reliability-based risk– Performance-based risk– Maintainability-based risk – Component Ranking

• Conclusions• Next Steps

Page 19: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 19

Software Architecture Risk Assessment

This work is funded in part by grants to West Virginia University Research Corp. from the NSF (ITR) Program, and from the NASA Office of Safety and Mission Assurance (OSMA) Software Assurance Research Program (SARP) managed through the NASA Independent Verification and Validation (IV&V) Facility, Fairmont

Page 20: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 20

Project Overview

• Risk Assessment of software architecture components, usage scenarios, and requirements

• Risk definition is based on

* Frequency of abnormal events

* Severity or consequences of events

• Reliability-based risk,• Performance-based risk• Requirement–based risk• Severity Analysis• Maintainability-based risk

What keeps satellites working 24/7 ?

Page 21: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 21

Software Architecture Risk Assessment

• An architecture-based approach for risk assessmentComponents\connectors, requirements, and scenario risk,

• Define several types of risk factors Reliability-based Risk [IEEE Trans. on Rel 2001, on SE, 2002, 2003]

Probability of failure * Severity or Consequences of this

failureMaintainability-based Risk [RAMS 06, ICSM 05, ICSM 04]

Probability of performing maintenance task * Cost of performing this task

• The losses caused by low system maintainability can be:– High cost of maintenance effort – Loss of the system by aging

Performance-based Risk [IEEE Trans. SE, Jan. 2005]

Probability of missing timing or performance requirements

* Severity or Consequences

Page 22: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 22

Importance / Benefits

• Identify the high risk components of the system in terms of Reliability/Maintainability/Performance

Components

Risk

Factor

Components Risk

Page 23: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 23

Software Architecture Risk Assessment

Methodology

Requirements Model System Architecture Model

Components Risk Factors

Maintainability-based

Risk Analysis

Performance-based

Risk Analysis

Reliability-based

Risk Analysis

Software Architecture Risk Assessment

Components Ranking

Page 24: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 24

OUTLINE

• Risk Management• Software Architectures• Software Architecture Risk Assessment

– Maintainability-based risk • Conclusions• Next Steps

Page 25: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 25

Maintainability-based Risk

[ICSM 05] AbdelMoez, Goseva, Ammar, Mili, Fuhrman, “Architectural level Maintainability Based Risk Assessment”

[RAMS 06] AbdelMoez, Goseva, Ammar,” Methodology for Maintainability Based Risk Assessment”, Jan 2006.

Maintenance EffortCorrective

20%

Adaptive25%

Perfective55%

Page 26: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 26

Importance / BenefitsMaintainability-based

Risk • According to Pigoski, 60%-80% of the system budget

is spent on maintenance

Maintenance EffortCorrective

20%

Adaptive25%

Perfective55%

Enhancements (perfective/ adaptive maintenance) account for 78%-83% of the maintainer effort

Page 27: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 27

• Unisys holds the NASA contract to maintain and support 14 million lines of ground software for the space shuttle

• There were 3,800 requirement changes made to the software after the loss of Challenger. These changes resulted in 900 software releases, of which 30 applied to the mission-control center with 3 of these being major upgrades • Reference:

IEEE Software, Vol.6,  No.1,  pp. 116-119

Importance / BenefitsMaintainability-based Risk

http://hebb.cis.uoguelph.ca/~dave/343/Lectures/introduction.html

Page 28: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 28

Importance / BenefitsTrade off Analysis for Perfective

Maintenance

apptgui banner borg btgui calgui calmodel errmsg helpscrn model propgui srchgui taskgui taskmodel tdgui-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25Change in Risk

Components

Cha

nge

in R

isk

Risk

Factor

Components

Patterns

Components Risk

Maintainability risk for perfective maintenance (open source case study Borg)

Page 29: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 29

Software Architecture Risk Assessment

Methodology: Maintainability-based Risk

Requirments maturity Index/ change / error reports

SW Architecture

(2) Estimate Change

Propagation (CP) probabilities

(3) Estimate Size of Change

(SC)

(4) Estimate component risk factor

ICP=[icpi] CP=[cpi/j] SC=[sci/j]

(1) Estimate componentsInitial Change Probability

(ICP)

ijijij

jjijiji sccpsccpicpmrMR //// . . . .

Page 30: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 30

Maintenance change propagation

Incoming maintenance Outgoing maintenance

Page 31: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 31

Estimating Change Propagation

C1C2V11

V1

V12

V13

= 1

= 0

Change in ProvidedService

• Change Propagation Probabilities matrix CP=[cpij ]

cpij is the probability that a change in Ci due to corrective/ perfective maintenance requires a change in Cj while maintaining the overall function of a system S

cpij = P([Cj] [Cj'] | [Ci] [Ci'] ^ [S] = [S'] ) cpij is estimated by

.

.V13

RequiredServices

cpij = iV

ijv

iV

||

1

ijv

ijv

Page 32: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 32

scij =

||

1||

1 iVijv

iM

Estimating Size of Change

Size of change SC=[scij ] scij is defined as the ratio between the number of affected

methods of the receiving component caused by the changes in the interface elements of the providing components and the total number of methods in the receiving component

scij is estimated by

C1C2V11

V1

V12

V13Change in ProvidedService

M1

M2

M3

M7

ReceivingComponent

methods

Page 33: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 33

CM1 Maintainability-Based Risk in Adaptive Maintenance Context

Page 34: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 34

Case Study: NASA CM1 UML Model Structure Diagram

• The UML-RT Model of CM1 wasDeveloped by WVU students (Nathan, Tom and Rajesh, Summer 2004) based on the CM1 software design specification

Page 35: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 35

Change Propagation Probabilities for CM1

• The Change Propagation probabilities CP is estimated using the CM1 UML model

• The Change Propagation probabilities CP can be automatically estimated from UML-RT models, or java source

Page 36: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 36

Size of Change for CM1

• The Size of Change metrics SC is estimated using the CM1 UML model

• The Size of Change metrics SC Probabilities CP can be automatically estimated from UML-RT models, or Java source

Page 37: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 37

Software Architecture Risk Assessment

Methodology: Maintainability-based Risk

Requirments maturity Index/ change / error reports

SW Architecture

(2) Estimate Change

Propagation (CP) probabilities

(3) Estimate Size of Change

(SC)

(4) Estimate component risk factor

ICP=[icpi] CP=[cpi/j] SC=[sci/j]

(1) Estimate componentsInitial Change Probability

(ICP)

ijijij

jjijiji sccpsccpicpmrMR //// . . . .

Page 38: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 38

Maintainability-based Risk For corrective maintenance

(case study CM1)

ICP is estimated

using error reports data

Page 39: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 39

Prioritizing Corrective Maintenance Tasks for CM1

CriticalMajorCatCriticalCat.CriticalMajorMajorMinorCat.Cat.MinorSeverity

Level

TMALITISSSISCUI1553ICUIEDACDPADCXDCICCMBIT

Components

Page 40: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 40

Maintainability-based Risk Maintainability risk for Adaptive maintenance (case study CM1)

ICP is estimated using change reports data

Page 41: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 41

Tool Support

Page 42: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 42

Technology Readiness Level The Software Architecture Risk Assessment

Tool Support

Page 43: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 44

Conclusions

• Risk Management is vital to the success of projects and products

• A risk Assessment process is needed• Software Architecture is a major determinant of

software quality • Software Architecture can be used to manage

project and product risks • Development of a methodology and a process for

software architecture risk assessment • Continued development of a software architecture

risk assessment tool to support the methodology

Page 44: Hany H. Ammar

SW Architecture Risk Assessment Keynote Presentation MySEC’06 45

Papers Published1. Vittorio Cortellessa, Katerina Goseva-Popstojanova, Kalaivani Appukkutty, Ajith R. Guedem, Ahmed

Hassan, Rania Elnaggar, Walid Abdelmoez, Hany H. Ammar, “Model-Based Performance Risk Analysis, IEEE Transactions on Software Engineering, January 2005, (Vol. 31, No. 1), pp.3-20.

2. Katerina Goseva-Popstojanova, Ahmed Hassan, Ajith Guedem, Walid Abdelmoez, Diaa Eldin M. Nassar, Hany Ammar, Ali Mili, "Architectural-Level Risk Analysis Using UML", IEEE Transactions on Software Engineering, October 2003 (Vol. 29, No. 10), pp.946-960.

3. S. Yacoub, H. Ammar, “A Methodology for Architectural-Level Reliability Risk Analysis,” IEEE Transactions on Software Engineering, Vol. 28, No. 6, June 2002.

4. W. AbdelMoez, K. Goseva-Popstojanova, H.H. Ammar,” Methodology for Maintainability-Based Risk Assessment”, Proc. of the 52nd Annual Reliability & Maintainability Symposium (RAMS 2006), Newport Beach, Ca., January 23-26, 2006.  

5. Israr P. Shaik , W. Abdelmoez, R. Gunnalan, M. Shereshevsky, A. Zeid, H.H. Ammar, A. Mili, C. Fuhrman, “Change Propagation for Assessing Design Quality of Software Architectures”, Proc. of 5th IEEE/IFIP

Working Conference on Software Architecture (WICSA), Pittsburgh, Pa., USA, November 6-9, 2005.

6. AbdelMoez, W., I. Shaik, R. Gunnalan, M. Shereshevsky, K. Goseva-Popstojanova, H.H. Ammar, A. Mili, C. Fuhrman, “Architectural level Maintainability Based Risk Assessment”, Proc. of poster papers in IEEE International Conference on Software Maintenance (ICSM 2005), Budapest, Hungary, September 25-30,2005.

7. W. Abdelmoez, D. M. Nassar, M. Shereshevsky, N. Gradetsky, R. Gunnalanm and H. H. Ammar, Bo Yu, and Ali Mili "Error Propagation in Software Architectures". In Proceedings of the 10th International Symposium on Software Metrics (METRICS'04), September 11 - 17, 2004 , IEEE Comp. Soc., pp 384-393

8. Abdelmoez, W., M. Shereshevsky, R. Gunnalan, H. H. Ammar, Bo Yu, S. Bogazzi, M. Korkmaz, A. Mili, "Software Architectures Change Propagation Tool (SACPT),” 20th IEEE International Conference on Software Maintenance (ICSM'04) September 11 - 14, 2004 , Chicago, Illinois, IEEE Comp. Soc., pp 517

9. A. Hassan, K. Goseva-Popstojanova, and H. Ammar, “UML Based Severity Analysis Methodology”, Proceedings of the 2005 Annual Reliability and Maintainability Symposium (RAMS 2005), Alexandria, VA, January 2005.