Software Reliability:The “Physics” of “Failure”
Thesis:
Software is not monolithic, yet the literature treats it as such. Different types of software have different failure modes and consequences…
Embedded software
Batch/Database Driven Software
User interactive
Usage of the word “reliability” implies defects and failure, but the community (much less the literature) has yet to settle on what exactly constitutes a software failure. Most only use the first type.
Frequently, software is just the most visible element of a complex system. Almost all system defects start out appearing as software errors.
Example: “Fire Bay #1”
More examples
Does software age?No, but the behavior of software depends on the environment that it is executing in and the environment may degrade.
“Does not meet customer expectations” is considered a software defect, however there is almost always a mismatch between customer expectations and the economics of the situation.
Finally, even if customer expectations are clearly documented at the beginning of a software development, and properly executed during implementation, the installation of that software system is a significant change to the environment that developed those expectations. This yields new expectations.
The software AND customer communities will need to address all of these issues in a formal, comprehensive, and consistent manner before the phrase “software reliability” has meaning.
SEI S/W Capability Maturity Model
Software “maturity”
Four years of consistent effort...
Email: dkerns@kernsanalysis.com
Home Page: www.kernsanalysis.com
Other information: Presentation for: SJSU ISE 297 Modern Topics in Reliability
Download presentation source