The purpose of this paper is to provide an overview of the existing research in this area, critically examine its limitations, and suggest ways to address the identified limitations. With all the complaints you hear about products rebooting and software crashing, do companies really practice software reliability. Citeseerx architecturebased software reliability analysis. Fifth edition, handbook of software reliability engineering, mcgrawhill.
Realtime embedded software architecture modeling and. Large empirical case study of architecturebased software. Componentbased software engineering pp 120 cite as. Assessing uncertainty in reliability of componentbased. In section 2 we give a brief overview of the markovbased model and the foundations of our architecturebased software reliability model. Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. Architecturebased software reliability prediction approach for component based software. This paper presents an architecture based reliability analysis methodology for concurrent software applications.
Early quality prediction at the architecture design stage is highly desired by software managers and developers. Architecture based software reliability analysis wenli wang and ye wu and meihwa chen. We propose a software architecture reliability analysis approach sarah that benefits from mature reliability engineering techniques and scenariobased software architecture analysis to provide an early software reliability analysis at the architecture design level. The basic entity in the architecturebased approach is the standard software engineering concept of a module. Earlier efforts in the area of architecture based analysis have focused on the development of composite models which are quite cumbersome due to their inherent largeness and stiffness. As petri net has a good ability of description for concurrency and. With the growing size and complexity of software applications, research in the area of architecturebased software reliability analysis has. Software reliability is the probability of failurefree software operation for a specified period of time in a specified environment. As a result, there is a need for modeling approaches that are capable of considering the architecture of the software and estimating the reliability by taking into account the interactions between the components, the utilization of the components, and the reliabilities of. Architecturebased performance and reliability analysis. That attribute can also be described as the fitness for purpose of a piece of software or how it compares to competitors in the marketplace as a. Reliability analysis of componentbased systems with multiple.
In software engineering, a scenario describes an anticipated usage of a software system. Software architecture based approaches emphasize designing dependability into complex software systems. The author gokhale 2007 has proposed an overview of the existing research in the area of architecture based software reliability analysis and critically examined the growing size and complexity. Architecturebased assessment of software reliability ieee. Software professionals routinely make decisions that impact that architecture, yet many times that impact is not fully considered or well understood. Software architecture reliability software testing architecturebased. Architecturebased assessment of software reliability. Cheung4 to measure the reliability of a software system based on the user environment and a simple markov model is formulated to determine the reliability of a software system based on the individual module. In section 2 we give a brief overview of the markov based model and the foundations of our architecture based software reliability model. This paper presents the model based approach to design the testingresource allocation.
To my knowledge, no research has been done where a hierarchical approach is taken to estimate heterogeneous architecturebased software reliability. In fact, there are some companies that do, but they are mostly in the industries that require products to have high availability, such as telecom, defense, and space, or safetyaverse industries, such as medical and industrial plant operation. A creative approach to reducing ambiguity in scenario. It differs from hardware reliability in that it reflects the design. An overview of methods of reliability and availability analysis based on software architecture. Architecture level safety analyses for safetycritical systems. Analysis of reliability and cost tradeoffs in architecture. With the growing advent of objectoriented and componentbased software development paradigms, architecturebased software reliability analysis has emerged as an attractive alternative to the conventional blackbox analysis based on software reliability growth models. W l, pan d, chen m h, architecture based software reliability modeling.
Architecture based software reliability models absrms are useful for estimating the architectural reliability of component based systems so that the behavior of its software components can be. Architecturebased approach to reliability assessment of. N2 with the increasing size and complexity of software in embedded systems, software has now become a primary threat for the reliability. A simple markov model is formulated to determine the reliability of a software system based on the reliability of each individual module and the measured intermodular transition probabilities as. With the growing advent of objectoriented and component based software development paradigms, architecture based software reliability analysis has emerged as an attractive alternative to the conventional blackbox analysis based on software reliability growth models. Layered architecture style is best suited to develop the software applications which require.
A reliabilityoriented evolution method of software. To my knowledge, no research has been done where a hierarchical approach is taken to estimate heterogeneous architecture based software reliability. Optimizing testingresource allocation using architecture. Engineering practices assured with system safety standards to manage the. Furthermore, the approach includes an analysis method for reliability evaluation of a provided architecture specification. Architecture based analysis of performance, reliability. Abstractwith the growing size and complexity of software applications, research in the area of architecturebased software reliability analysis has gained prominence. As a result, there is a need for modeling approaches that are capable of considering the architecture of the software and estimating the reliability by taking into account the interactions between the. Design imperatives for improved architecturebased reliability prediction of software systems assefa dagne semegn abstract reliability prediction of a software product is complex due to interdependencies and interactions among components and the difficulty.
Componentbased software reliability sensitivity analysis publications. Architecturebased performance and reliability analysis of software applications has been the focus of several recent research efforts, as these applications have grown in size and complexity. We propose a software architecture reliability analysis approach sarah that benefits from mature reliability engineering techniques and scenario based software architecture analysis to provide an early software reliability analysis at the architecture design level. The evolution process is illustrated by the method, and it shows that which component is playing an important or crucial role in the process of reliabilityoriented evolution of software architecture. A service based software system is a multilayered system that includes the web service ws, shared resources, and the hosting application server as. Reliability, efficiency, security, maintainability and adequate size. Software architecture analysis university at albany, suny. Reliability prediction and sensitivity analysis based on. Architecturebased reliability analysis of software applications is gaining prominence as it can provide valuable guidance to software architects during early design phases. Effect of software architecture configuration on the reliability and performance estimation, meihwa chen, meihuei tang and wenli wang, in proceedings of the 1998 ieee workshop on applicationspecific software engineering and technology, march 2628, 1998, richardson, texas. Abstractarchitecturebased software reliability analysis methods shall help software architects to identify critical software components and to quantify their influence on the system reliability. Our approach is based on the palladio component model pcm as a designoriented modelling language. Our classification framework, presented in the next section, serves as a taxonomy of architecturebased software dependability modeling and analysis methods. A hierarchical framework for estimating heterogeneous.
Architecturebased software reliability analysis wenli wang and ye wu and meihwa chen. As scenarios are useful to understand the requirements and functionalities of a software system, the scenariobased analysis is widely used in various tasks, especially in. In the management of software testing, testingrecourse allocation is one of the most important problems due to the tradeoff between development cost and reliability of released software. W l, pan d, chen m h, architecturebased software reliability modeling. Programming dependability is those failurefree programming operations for a specified time clinched alongside a specified earth. This paper presents the modelbased approach to design the testingresource allocation. In the context of software engineering, software quality refers to two related but distinct notions. A systems software architecture is widely regarded as one of the most important software artifacts. Software reliability analysis of hierarchical architecture. Trivedi, k architecture based approach to reliability assessment of software systems. Architecturebased reliability estimation is challenging during early design phases, architec ts lack information necessary for precisely determining a systems reliability, such as the systems operational profile and failure and recovery information. An overview of methods of reliability and availability analysis based on software architecture neeraj kumar sharma arunprakashagrawal amity university, noida amity university, noida abstract when we talk about the user acceptance testing of the. We propose the software architecture reliability analysis sarah approach that benefits from both reliability engineering and scenariobased software architecture analysis to provide an early reliability analysis of next product releases.
The goals of our study are to analyze empirically the adequacy, applicability, and accuracy of architecturebased software reliability models. Evaluating software system reliability using architecture. Software architecture design is an important and critical stage in software development. With the growing emphasis on reuse, software development process moves toward component based software design. Software functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specifications. Architecture based software reliability, state based models, path based models, additive models 1. The details of our style based and then architecture based models are described in section 3 and 4, respectively. Architecturebased approaches to software reliability. In particular, we employ the architecturebased software reliability model with operational profile to estimate the. The th international symposium on software reliability engineering, 2002. Although there is no universally accepted definition. A critical analysis of underlying assumptions, limitations and applicability of these models is provided which should be helpful in determining the directions for future research. Architecture based reliability and testing estimation for mobile.
Hence, software architects are comprehensively supported by our approach in their decisionmaking. An overview of methods of reliability and availability. In particular, we employ the architecture based software reliability model with operational profile to estimate the. Pdf architecturebased software reliability prediction approach. We propose the software architecture reliability analysis sarah approach that benefits from both reliability engineering and scenario based software architecture analysis to provide an early reliability analysis of next product releases. Our architecturebased software reliability model utilizes discretetime markov. Software architecturebased approaches emphasize designing dependability into complex software systems. With the growing size and complexity of software applications, research in the area of architecture based software reliability analysis has gained prominence. Incorporating reliability goals in software architectures is important for successful applications in large and safetycritical systems.
Such application domain systems are developed based on a complex integrated architecture, which is modular in nature. A largescale industrial case study on architecturebased. Reliability prediction for componentbased software. With the growing size and complexity of software applications, research in the area of architecturebased software reliability analysis has gained prominence. Software reliability modeling provides a means for estimating reliability of software, which facilitates effective decision making for quality control. In this paper, we survey and examine different methods of reliability. The primary objective of architecturebased software reliability analysis has been to obtain an estimate of the application reliability based on the component reliabilities and the application architecture. Gokhale, architecturebased software reliability analysis.
However, most of the existing software design mechanisms do not consider the architectural reliability the impact of software architecture on system reliability. In this paper we present an empirical study of architecture based software reliability based on a large open source application which consists of 350,000 lines of c code. Architecturebased software reliability models absrms are useful for estimating the architectural reliability of componentbased systems so that the behavior of its software components can be. Software reliability is one of the most important quality indices in software quality evaluation.
In this paper we develop an accurate hierarchical model to predict the performance and reliability of componentbased software systems based on their architecture. Automatically improve software architecture models for. Component based software reliability sensitivity analysis publications. Based on these models, the consortium for it software quality cisq has defined five major desirable structural characteristics needed for a piece of software to provide business value. This paper presents an architecturebased reliability analysis methodology for concurrent software applications. Software reliability analysis based on multivariate bernoulli. Reliability analysis based on software architecture has become a researching hotspot. The author gokhale 2007 has proposed an overview of the existing research in the area of architecturebased software reliability analysis and critically examined the growing size and complexity. The user oriented software reliability model was proposed by roger c. Efficient reliability analysis of concurrent software.
The dependency of complex embedded safetycritical systems across avionics and aerospace domains on their underlying software and hardware components has gradually increased with progression in time. Software architecture reliability analysis using failure. Architecturebased software reliability modeling department of. Architecturebased approaches to software reliability prediction. Banupriya pg student, easwari engineering college, chennai, india abstract correlated component failures cocof may degrade the reliability of a component based software application, and hence these failures should be expressly incorporated into the software reliability analysis process. The primary advantage of the architecturebased approach is that it explicitly relates the application reliability to. Large empirical case study of architecturebased software reliability. Existing models either use a blackbox approach that is based on test data of the whole system or a whitebox approach that uses components reliabilities and intercomponent interactions. These include the source code, test suites sometimes including test drivers and oracles. Thus, reliability analysis considering concurrent component execution within the context of the application architecture is necessary for contemporary software applications. Software reliability is one of the major attributes of the software quality attributes that are availability, interoperability, maintainability. The reliability analysis of web services is often focused on the web service components, ignoring the impact of the middleware located beneath the web services. Although researchers have proposed more than 20 methods in this area, empirical case studies applying these methods on.
Our classification framework, presented in the next section, serves as a taxonomy of architecture based software dependability modeling and analysis methods. Software reliability analysis based on multivariate. Prevalent architecturebased analysis techniques can be broadly. A servicebased software system is a multilayered system that includes the web service ws, shared. Architecturebased software reliability analysis albany. On acquire secondary unwavering quality to expansive whats more intricate framework, utilize architecturebased approach. Sarah defines the notion of failure scenario model that is based on the fmea and fta. The evolution process is illustrated by the method, and it shows that which component is playing an important or crucial role in the process of reliability oriented evolution of software architecture. Earlier efforts in the area of architecturebased analysis have focused on the development of composite models which are quite cumbersome due to their inherent largeness and stiffness. Reliablity prediction and sensitivity analysis based on. Department of software engineering, faculty of computing. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Architecturebased software reliability modeling semantic. Architectural design decisions for achieving reliable.
Sarah defines the notion of failure scenario model that is based on the. The primary advantage of the architecture based approach is that it explicitly relates the application reliability to. The purpose of this paper is to provide an overview of the existing research in this area, critically examine its limitations, and suggest ways to. Software reliability is also an important factor affecting system reliability. In this paper we develop an accurate hierarchical model to predict the performance and reliability of component based software systems based on their architecture. T1 software architecture reliability analysis using failure scenarios. With the growing emphasis on reuse, software development process moves toward componentbased software design.
461 1472 823 608 1084 1310 732 1037 1345 860 825 11 1026 800 834 1138 1206 752 1183 273 949 1420 471 361 393 1492 66