190 likes | 203 Views
This research paper explores a qualitative approach for estimating the reliability of object-oriented system designs, addressing challenges with traditional models. It highlights the need for precise reliability estimation and proposes a method that breaks down designs into smaller components for more accurate assessment. The study emphasizes early phase estimation, ranking error-prone classes, and redesigning high-risk components to enhance system reliability. By focusing on high-level design, the proposed approach aims to achieve highly reliable systems independent of defect data. The paper concludes with suggestions for future research directions, including testing different coupling types for improved estimation and empirical validation.
E N D
A Qualitative Approach Towards Reliability Estimation of OO System Design Aiman Rasheed 220306 Research paper presentation as partial fulfillment of ICS-519, Software Metrics
Outline • Introduction • Reliability Models • Approaches • Problem with Traditional Reliability Models • Proposed Approach • Conclusion • Future Directions
Introduction • What is Reliability? “Reliability of software is the probability over a given period of time that the system will correctly deliver services as expected by the user”
Introduction • Why we need Reliability? • Estimate or predict effort/cost of development processes • Estimate or predict the quality of the software
Reliability Models • Reliability Growth Model • Time/ Structure Based Model • Error Seeding Model • Markov Model • Bayesian Network Model
Approaches • Blind approach • Autopsy approach
Problems with Traditional Models • Reliability Growth Models • Huge history of defect data is required • Assumption of representative test coverage • Assumption that fault removal is successful i.e. absence of ripple effect
Problems with Traditional Models • Reliability Growth Models • Assumption of independence of successive software failures during successive software runs • Increasing the reliability level increases the length of the test series required until it becomes infeasible
Problems with Traditional Models • Time /Structure based Model • Test path space is very large • We don’t know the paths to be executed because of dynamic nature of applications.
Problems with Traditional Models • Error Seeding Model • Number of counts do not matter much as compared to the severity of faults • Defect data is needed
Proposed Approach • Design level reliability estimation • Qualitative approach • Higher granularity reliability level • Incremental approach
Proposed Approach • Breaking the System Design into Smaller Components • Efficient software engineering paradigm. • System restoring involves only the specific component. • Easy to maintain and • Helps in overall system reliability estimation.
Proposed Approach • Early Phase Estimation • Use of BBN for reliability estimation of each component System Analyst Opinion System Engg Opinion Other factors Component reliability
Proposed Approach • Early Phase Estimation • For construction of BBN, we can use • DIT • NOC
Proposed Approach • Rank Assignment to Error Prone Classes, Using Heuristics: Key-Class • Distance = f(coupling, size-complexity, ) • Where is angle from x-axis
Proposed Approach • Redesigning of Higher Order Ranked Classes • First to see the component with high failure probability • Secondly, redesign the class that has the highest rank
Proposed Approach • Non-probabilistic Confidential Level Design Analysis Through Coupling • Drawing out factors that affect Reliability • Drawing out factors that affect coupling • Analyzing the overlapping factors
Conclusion • Achievement of highly reliable system by attaining high design level reliability. • Precise reliability achievement by addressing high ranked classes • Independent of defect data in the beginning. • Incremental approach.
Future Directions • Kind of coupling is not specified for calculating the distance. Different kinds of coupling can be tested for better estimation. • Empirical validation can be done.