Software systems engineering
Object-oriented modeling and design
Object-oriented modeling and design
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Rapid Development: Taming Wild Software Schedules
Rapid Development: Taming Wild Software Schedules
Why Explore Object Methods, Patterns, and Architectures?
IEEE Software
Architectural Styles, Design Patterns, and Objects
IEEE Software
Qualitative and Quantitative Reliability Assessment
IEEE Software
Software reliability models: an approach to early reliability prediction
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Systematic Reliability Analysis of a Class of Application-Specific Embedded Software Frameworks
IEEE Transactions on Software Engineering
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
An execution-level component composition model based on component testing information
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Software reliability estimation under certainty: generalization of the method of moments
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
Hi-index | 0.00 |
Software reliability assessment models in use today treat software as a monolithic block. An aversion towards "atomic" models seems to exist. These models appear to add complexity to the modeling, to the data collection and seem intrinsically difficult to generalize. This paper presents an architecturally based software reliability model and underlines its benefits. The model is based on an architecture derived from the requirements which captures both functional and non-functional requirements and on a generic classification of functions, attributes and failure modes. The model focuses on evaluation of failure mode probabilities and uses a Bayesian quantification framework. Failure mode probabilities of functions and attributes are propagated to the system level using fault trees. The model accounts explicitly for the type of software development life-cycle. It can incorporate any type of prior information, such as results of developers' testing or historical information on a specific functionality and its attributes, and is ideally suited for reusable software. By building an architecture and deriving its potential failure modes, the model forces early appraisal and understanding of the weaknesses of the software, allows reliability analysis of the structure of the system, and provides assessments at a functional level as well as at the system level. The model is applied to a simple example. The model's assessment of reliability tends to be conservative and the model appears to be scalable to larger, more complex problems.