Skip to Main Content
Along with the development of object-oriented technology, component development is gradually extended to commercial off-the-shelf (COTS) components and component-based software development (CBSD) has gradually become the dominant orientation of the field of software engineering. The claims of high reliability need further investigation based on reliability analysis techniques that are applicable to component-based applications. This paper introduces a new reliability analysis technique applicable to high-level designs. The technique is named reliability analysis based on rewrite logic (RABRL). RABRL is specific for component-based software whose analysis is strictly based on its operational profile and specification. Specification based on rewrite logic can be executed with the help of rewrite technique of Maude, driven by test cases designed from the operational profile. By analyzing the execution process with statistics, we can get the transition probability between components and expected number of visits to components approximately. The paper also adapts the probabilistic model "component-dependency graph" (CDG) proposed by Sherif M. Yacoub to model the component-based software, which is named "adapted component-dependency graph" (ACDG). ACDGs are directed graphs that represent components, component reliabilities, transitions, and transition probabilities. Based on ACDGs, an algorithm is presented to analyze the reliability of the application as the function of reliabilities of its components. A simple case study illustrates the applicability of the algorithm. The RABRL is also used to identify critical components.