Software process modeling can be used to reason about strategies for attaining software dependability. The impact of different processes and technologies on dependability attributes can be evaluated through modeling and simulation. Strategies may have overlapping capabilities, and process modeling is useful for assessing mixed strategies. Dependability has many facets, and there is no single software dependability metric that fits all situations. A stakeholder value-based approach is useful for determining relevant dependability measures for different contexts. Analytical models and simulation techniques including continuous systems and discrete event modeling approaches can be applied to dependability. Continuous systems modeling is easier for aggregate analyses. Discrete event has some advantages for dependability applications because multiple attributes related to dependability measures can be attached to system entities, particularly when those same attributes are represented in empirical data. Combined approaches using the advantages of both are attractive for dependability applications. Two primary processes can be modeled to investigate dependability phenomena. Development process models mainly address software defect introduction and removal rates. Operational process models address the probability of various classes of failure: race conditions, deadlocks, missing real-time deadlines. An overview of sample applications is presented. An elaborated example shows how modeling can be used to optimize a process for dependability. There have been relatively few dependability modeling applications to-date, and the field is rich for exploration.
[1]
Ioana Rus,et al.
Software process simulation for reliability management
,
1999,
J. Syst. Softw..
[2]
David Raffo,et al.
Modeling software processes quantitatively and assessing the impact of potential process changes on process performance
,
1996
.
[3]
Stephen H. Kan,et al.
Metrics and Models in Software Quality Engineering
,
1994,
SOEN.
[4]
Raymond Madachy,et al.
Case studies in software process modeling with system dynamics
,
2000
.
[5]
John Douglas Tvedt.
An extensible model for evaluating the impact of process improvements on software development cycle time
,
1996
.
[6]
Raymond J. Madachy,et al.
Software process simulation modeling: Why? What? How?
,
1999,
J. Syst. Softw..
[7]
David Raffo,et al.
A model of the software development process using both continuous and discrete models
,
2000
.
[8]
Raymond J. Madachy.
System dynamics modeling of an inspection-based process
,
1996,
Proceedings of IEEE 18th International Conference on Software Engineering.
[9]
Barry W. Boehm,et al.
The ROI of software dependability: The iDAVE model
,
2004,
IEEE Software.