Software Defects Cmpe 550 Fall 2005

Slides:



Advertisements
Similar presentations
Software Quality Assurance (SQA). Recap SQA goal, attributes and metrics SQA plan Formal Technical Review (FTR) Statistical SQA – Six Sigma – Identifying.
Advertisements

Software Quality Ranking: Bringing Order to Software Modules in Testing Fei Xing Michael R. Lyu Ping Guo.
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
CSE 300: Software Reliability Engineering Topics covered: Software metrics and software reliability Software complexity and software quality.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
THE MANAGEMENT AND CONTROL OF QUALITY, 5e, © 2002 South-Western/Thomson Learning TM 1 Chapter 13 Reliability.
West Virginia University A Bayesian Approach to Reliability Predication of Component Based Systems H. Singh, V. Cortellessa, B. Cukic, E. Gunel, V. Bharadwaj.
Overview Software Quality Assurance Reliability and Availability
S Neuendorf 2004 Prediction of Software Defects SASQAG March 2004 by Steve Neuendorf.
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
Software Project Management
Chapter 22. Software Reliability Engineering (SRE)
Software Reliability Categorising and specifying the reliability of software systems.
1 Forecasting Field Defect Rates Using a Combined Time-based and Metrics-based Approach: a Case Study of OpenBSD Paul Luo Li Jim Herbsleb Mary Shaw Carnegie.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
March 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001.
CLEANROOM SOFTWARE ENGINEERING.
Data Mining Joyeeta Dutta-Moscato July 10, Wherever we have large amounts of data, we have the need for building systems capable of learning information.
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Software Reliability SEG3202 N. El Kadri.
1 Department of Electrical and Computer Engineering University of Virginia Software Quality & Safety Assessment Using Bayesian Belief Networks Joanne Bechta.
University of Sunderland CIFM03Lecture 4 1 Software Measurement and Reliability CIFM03 Lecture 4.
Introduction to Defect Prediction Cmpe 589 Spring 2008.
Data Mining: Classification & Predication Hosam Al-Samarraie, PhD. Centre for Instructional Technology & Multimedia Universiti Sains Malaysia.
Computer Science, Software Engineering & Robotics Workshop, FGCU, April 27-28, 2012 Fault Prediction with Particle Filters by David Hatfield mentors: Dr.
Data Mining Practical Machine Learning Tools and Techniques Chapter 4: Algorithms: The Basic Methods Section 4.6: Linear Models Rodney Nielsen Many of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Network Management Lecture 13. MACHINE LEARNING TECHNIQUES 2 Dr. Atiq Ahmed Université de Balouchistan.
Software Defects. What leads to what? ERROR FAULT FAILURE Observed by Introduced by.
Introduction to Machine Learning, its potential usage in network area,
Machine Learning with Spark MLlib
Software Metrics and Reliability
Module A Fundamentals of Testing
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Hardware & Software Reliability
Software Project Management
Achieving High Software Reliability
Discussions on Software Reliability
An Artificial Intelligence Approach to Precision Oncology
CS 9633 Machine Learning Inductive-Analytical Methods
Fault Tolerance & Reliability CDA 5140 Spring 2006
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Product reliability Measuring
DEFECT PREDICTION : USING MACHINE LEARNING
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software Reliability: 2 Alternate Definitions
Overview of Supervised Learning
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Machine Learning Week 1.
Software Reliability Models.
Software Test Termination
Chapter 13 Quality Management
Progression of Test Categories
Classification and Prediction
3.1.1 Introduction to Machine Learning
THE MANAGEMENT AND CONTROL OF QUALITY, 5e, © 2002 South-Western/Thomson Learning TM 1 Chapter 13 Reliability.
The Organizational Impacts on Software Quality and Defect Estimation
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
MACHINE LEARNING TECHNIQUES IN IMAGE PROCESSING
Software Reliability It is defined as the ability of a system or component to perform its required functions under stated conditions for a specified period.
Exploring Complexity Metrics as Indicators of Software Vulnerability
Using Bayesian Network in the Construction of a Bi-level Multi-classifier. A Case Study Using Intensive Care Unit Patients Data B. Sierra, N. Serrano,
Kostas Kolomvatsos, Christos Anagnostopoulos
Presentation transcript:

Software Defects Cmpe 550 Fall 2005

What leads to what? Introduced by ERROR Observed by FAULT FAILURE

Product defects Defect = Fault or Failure i.e. Defect is either the cause of failure or the failure itself (as the effect of the fault)

What constitutes failure Failing product deadlines Failing product budget (cost) Failing product quality

Defect removal costs (taken and adapted from software development data in Germany in the 90s) Require- ments Design Coding Component testing Integration testing System use 50% Fault Source 40% 10% 50% Fault Detection 10% 7% 5% 25% 3% KLm90 Per fault Cost KLm50 KLm25 Lm200 Lm200 Lm200

Availability Availability is the probability of getting system service at any given point in time. Availability = sys_uptime/(sys_uptime + sys_downtime) -or- Failure_hazard/(failure_hazard + repair_hazard)

Reliability Many defs… Musa et al.: “The probability that a system, or a capability of a system, functions without failure for a specific time or number of natural units” Sommerville: “The probability of failure-free operation for a specified environment for a given purpose”

Reliability facts The more failures are observed and corrected the more reliability improves  System usage must be clearly modelled Reliability depends on how a system is used  Reliability growth must be modelled System failures occur randomly  Failure must be modelled probabilistically

H/W vs S/W Failure Rates time time

Some measures MTTF: Mean time to failure MTTR: Mean time to repair The time between the system starts and failures MTTR: Mean time to repair The time a system is in repair MTBF: Mean time between failures The time between subsequent system failures

Our Research Aim to better allocate scarce resources in testing establish an improved method for predicting software quality identifying fault prone modules using machine-learning methods.

Our Research constructed a two-step model that predicts potentially faulty modules by taking their metric data into consideration datasets from NASA’s Metrics Data Program (MDP) utilizes classification and regression type learning methods consecutively. The results of the experiments show that the two-step model enhances the regression performance.

Machine Learning and Software Engineering Machine learning algorithms have been proven to be practical in poorly understood problem domains that have changing conditions Software quality problems can be formulated as learning processes and they can be classified by the characteristics of defect

Machine Learning and Software Engineering possible to apply regular machine learning algorithms to come up with a probability distribution for error analysis Decision trees, artificial neural networks, Bayesian belief network and clustering techniques ML is also used to generate models of program properties that are known to cause errors to classify and investigate the most relevant subsets of program properties Support vector and decision tree learning tools training and classification

Our Inspiration The previous research tackled the problem of software defect prediction by either using classification or regression type methods. Need to combine classification and regression type of prediction methods to find fault prone modules in software programs.

Our Model two step model that takes historical software metric data as its input In real life projects, we see that a dataset contains more defect free modules than defective ones Machine learning methods fail to predict defect densities accurately when regression is applied in such datasets our model first classifies the dataset as defective and defect free, and then, it applies regression. experiment results showed that classification is a better approach when the dataset has more defect free modules than defective ones.