Академический Документы
Профессиональный Документы
Культура Документы
By
Assefa D. Semegn
TABLE OF CONTENTS
List of Figures.............................................................................................. x
List of Tables............................................................................................. xii
Preface ...................................................................................................... xiii
Acknowledgments ..................................................................................... xv
Abbreviations ........................................................................................... xvi
Chapter One................................................................................................. 1
Introduction
1.1 Background ...................................................................................... 1
1.2 Objective of the Book ...................................................................... 6
1.3 Achievement of the Book ................................................................ 8
1.4 Contribution of the Book ................................................................. 9
1.5 Organization of the Book............................................................... 11
Chapter Two .............................................................................................. 12
The Three Tributaries of DRP
2.1 Software Design and Construction................................................. 13
2.2 Specification and Documentation .................................................. 29
2.3 Software Reliability Prediction ...................................................... 31
2.4 Assessment of Existing Software Reliability Models .................... 47
2.5 Chapter Summary .......................................................................... 48
Chapter Three ............................................................................................ 50
Analysis of the Reliability Prediction Problem
3.1 Introduction.................................................................................... 50
3.2 Main Characteristics of Software Failure....................................... 50
3.3 Main Approaches in Mitigating Software Failure.......................... 57
3.4 Major Challenges for Software Reliability Predictability .............. 60
3.5 Chapter Summary .......................................................................... 64
Chapter Four .............................................................................................. 66
Basic Concepts of Design for Reliability Predictability
4.1 Introduction.................................................................................... 66
4.2 Basic Concepts in Software Design and Documentation ............... 66
4.3 Mathematical Basis for Description of System Structure .............. 76
viii
Table of Contents
ix
LIST OF FIGURES
xi
LIST OF TABLES
PREFACE
xiv
Preface
ACKNOWLEDGMENTS
First and foremost, I praise Lord, the Almighty, Who gave me all what
I need to bring this work to a success and to Whom I owe my very
existence.
Numerous people around me: family, colleagues and friends, have
contributed directly and indirectly to make the work a success. I am
grateful to all who extend their support in different ways..
I would like to extend my acknowledgment to Prof. David Parnas, the
father of software engineering, Prof. Eamonn Murphy and Dr. Donal
Heffernan for their invaluable feedback, advice, encouragement and
support that made the completion of this work a reality. The background
image on the cover is a photo captured by Khaironi Yatim. I would also
like to thank him for his permission to use it. .
My deepest gratitude and respect goes to my late parents Mulu
Jemberie and Dagne Semegn, who raised me with care and love, who
instilled in me self-confidence, determination, and who taught me the great
lessons of life.
A million thanks and deepest love to my gorgeous children: Soliyana
and Abel, for giving me unlimited happiness. You have made my life
complete!
Finally, I wish I have special words that can express my gratitude to
my darling wife Wubayehu Zewdie, who paid the greatest sacrifice and
contributed the most. Wubua, in this journey, your unconditional love,
extraordinary strength, and unwavering support have created the energy
and your insightful ideas and guidance have given me the light, making
your role for the success of this work to have no parallel. You are
incredible!
ABBREVIATIONS
ADL
ADT
CLT
CN
CORBA
COTS
CTMC
CTVR
DC
DRP
DTMC
EFG
GAO
GPRS
GUI
IC
KLOC
LD
LRCL
M&C
MD
MG
MGF
MID
MIDD
MIL
MSC
MSS
MTTF
MTTR
MVD
NATO
NHPP
NIST
NVP
OC
OES
OMG
OODB
PA
PBD
RB
RPC
RS
S&D
SCR
SDC
SDI
SFI
SMP
SQRL
SRCL
SRD
SRE
SSS
THE.
TAM
TFM
UA
UML
Output Channel
Other Elementary Systems
Object Management Group
Object-oriented database
Parent Application
Precise Behavioral Documentation
Recovery Blocks
Remote Procedure Call
Remote Server
Specification and Documentation
Software Cost Reduction
Software Design and Construction
Strategic Defense Initiative
Science Foundation of Ireland
Semi-Markov Process
Software Quality Research Laboratory
Short Range Communication Link
Service/System Requirement Document
Software Reliability Engineering
Server Side Services
Technische Hogeschool Eindhoven
Trace Assertion Method
Trace Function Method
User Application
Unified Modeling Language
xvii
CHAPTER ONE
INTRODUCTION
1.1
Background
Chapter One
Introduction
Chapter One
Introduction
duty cycle alone, does not fully explain the relative importance of
components to the system reliability even for sequentially
executing components.
Components are subjected to both primary failures and dependent
failures. Primary failures are failures caused by design faults in
each software component. Dependent failures, on the other hand,
are failure in which components fail due to failure of other
components in their environment, or because of interactions. In
case of the later one, interaction failures, no particular component
may be singled out as the cause of failure. It can result from the
joint interaction of various components, usually through shared
resources, leading to an unacceptable system behavior.
Chapter One
(Littlewood and Strigini, 2000) commented on the difficulty of preassessment of reliability of software systems.
1.2
Introduction
1.2.1
The first objective of this book is set to identify design imperatives that
will make the system reliability easier to predict.
One may develop systems whose behavior is hard to understand and
describe using any approach. Such systems may have no uniquely
identifiable components. The inter-relationships among their components
may not be well known. No realistic tractable model may exist that is
capable of predicting the reliability of such poorly structured systems.
Structural reliability assessment can be applied only when the
structural relation among the different components in the system can be
clearly identified and known. Thus, one part of this book is to identify the
necessary decomposition and composition criteria that will make a
software product easier to analyze and its reliability simpler to predict.
1.2.2
Chapter One
1.2.3
Although many reliability models have been proposed over the years,
nearly all of them are based on pure theoretical or mathematical basis
having very little connection with the actual software structure, its
behavior and its failure characteristics. Only few, such as the one
discussed in (Katerina Goseva-Popstojanova et al., 2005), attempt to
connect reliability models with real software products. Even in such cases,
the models usually take simplifying assumptions on software structure,
which makes the reliability prediction questionable. These problems arise
in attempting to derive structural information that is necessary for
reliability prediction based on program code. Program code can generally
be considered as a poor source of information for reliability assessment
because:
1.3
Introduction
1.4
10
Chapter One
Introduction
11
1.5
CHAPTER TWO
DRP can be considered to exist at the intersection point of these three areas and
may be depicted as shown in Figure 2-1.
SDC
S&D
DRP
SRP
Many decades of research effort have been spent in each of these areas
independently. However, the integration of these three areas as a unified
research work has not been addressed thoroughly or adequately enough.
Additionally, the software reliability problem is a critical problem that
continues to affect many projects negatively.
Thus, this book attempts a new beginning in integrating these three
components into one unified design approach. This is aimed at improving