posted on 2022-12-14, 15:41authored byAssefa Dagne Semegn
Reliability prediction of a software product is complex due to interdependencies and
interactions among components and the difficulty of representing this behavior with tractable models. Models developed by making simplifying assumptions about the software structure may be simple to use but their result may be far from what happens in reality. Making assumptions closer to reality that allows complex interactions and interdependences among components results in models that are too complex to use and/or their results may be too difficult to interpret.
The reliability predication problem is aggravated by the absence of precise information on the behavior of components and their interactions, information that is relevant for reliability modeling. Usually, the interactions are not known precisely because of subtle undocumented side effects. Without accurate precise information, even mathematically correct models will not yield accurate reliability predications. Deriving the necessary information from program code is not practical if not impossible because the code
contains too much implementation detail to be useful in creating a tractable model and
because it is difficult to fully analyze.
This author approached the problem from three tracks:
1. Identifying design imperatives that will make the system behavior easier to predict
2. Identifying mathematical documentation techniques to describe the behavior of software systems
3. Adapting structural reliability modeling techniques to predict the reliability of
software systems based on their mathematical description
This thesis documents the resulting novel approach of designing, specifying, and describing the behavior of software systems in a way that helps to predict their reliability from the reliability of the components and their interactions. The design approach, which the author names design for reliability redictability (DRP), integrates design for change, precise behavioral documentation and structure based reliability prediction to achieve improved reliability prediction of software systems. The specification and documentation approach builds upon precise behavioral specification of interfaces using the trace function method (TFM) and introduces a number of connection documents or structure functions. These functions capture both the static and dynamic behaviors of component
based software systems and are used as a basis for a novel document driven structure based reliability predication model. System reliability assessment is studied in at least three levels: component reliability, which is assumed to be known, interaction reliability, a novel approach in studying software reliability and service reliability, whose estimation is the primary objective of reliability assessment. The approach is applied successfully as a case study in the construction of an industrial product which is described in this thesis.