Defect Analysis By Vaisali Namburi Contents Introduction Types of Defects Prevention Techniques Workflow to improve Defect prediction models Defect prevention models Conclusion References Introduction Defect analysis plays an important role to ensure software quality. Defects can be injected into the system in any phase of SDLC. Defect management is a process used to predict and prevent defects. One hundred percent removal of defects is a myth. Prevention of defects is better in the terms of cost and time when compared to detection and removal. It is estimated > forty percent of time is spent on defect detection activities. Types of Defects 1. Function, concerns how the system behaves from customer perspective. 2. Logic, concerns the functionality of the system. 3. Interface, concerns interactions between components. 4. Checking, concerns the part of the logic that validates and verifies the data to compute its values might be affected. 5. Assignment, concerns initialization of this variables or blocks might be affected. 6. Timing or serialization, concerns shared resource management might be affected. Prevention Techniques Defects analysis can be performed using many different techniques, some of which are very popular and are considered as the basis for any technique. 1. Orthogonal Defect Classification 2. Root Cause Analysis 3. Defect Pareto Chart Orthogonal Defect Classification ODC is a classification scheme, which helps to analyze defects analytically by extracting critical attributes of the defects. 1. Defect type 2. Defect trigger 3. Defect qualifier ODC has a framework to categorize defects and the origin of the defects in the development process. Integration of ODC in software project reduces the cost and time by 40%. Root Cause Technique The first principle helps to find the process or activity that causes the defect. Here defects must be analyzed in the early phases of the development. The second principle is utilizing local and third party expertise. Here analysis must be made to identify the cause of the defect. Experts are hired by an organization to review and analyze the process so that the defects are mitigated. Defect Pareto Chart Chart represents defect types by frequency. Defects documented, reviewed, and analyzed by performing root cause analysis. This graph represents these problems using a bar graph with a curve, which shows the defects based on their category. This helps software developers to concentrate more on the SDLC phase that contain more defects, so those defects can be eliminated first. Process Improvement Workflow There are many process models that assist in the successful development of the software. Making improvements to the relevant processes may help in preventing the defect types that are most commonly identified This helps in reducing the total cost, time, effort and the resources spent on the software There are many stages involved in the improvement of the process. Process Improvement Workflow Defect Prediction Models The most time consuming process of a high quality software development is defect identification and rectification (also expensive). Prediction Model using Size and Complexity Metrics : Rawat and Dubey’s prediction model considered size (LOC). Metrics considered for this approach are complexity and size Fuzzy Logic Model : Fuzzy Logic is a prediction model described by Rawat and Dubey, completely based on human behavior. Defect Prediction Model Based on Six-Sigma Metrics : The six-sigma based prediction model is a good fit to predict the number defects that occur in system testing. Defect Prevention Model Defects can originate in any phase of SDLC. Kumaresh and Ramachandran proposed a defect framework that analyzes the defects that emerged from all 5 phases of SDLC. Preventive actions for defects are proposed by analyzing the reason for the occurrence. They introduced a new metric that counts the number of defects present in each phase (defect injection metrics) Defect prevention is a sequential process that helps organizations to identify and remove defects in a systematic manner. Defect Prevention Model Conclusion Described the importance of defect development to ensure high quality. prevention in software Defects classified into categories based on the type of the defect in order to implement preventive measures. Defect types that occur frequently are eliminated in such a way that they do not reoccur. Defects that cause failure to the system or more damage to the system must be mitigated when they are observed. More efficient and effective models must be developed in future to curb the defects that might lead to the software failure. References 1. Kumaresh S., Ramachandran B., Defect Analysis and Prevention for Software Process Quality Improvement, International Journal of Computer Applications, Volume 8- No.7, October 2010. 2. Kumaresh S., Ramachandran B.,, Defect Prevention Based on 5 Dimensions of Defect Origin, International Journal of Software Engineering & Applications(IJSEA).Vol.3, No.4, July 2012. 3. Margarido I. L., Faria J. P., Vidal R. M., Vieira M., Classification of Defect Types in requirements Specifications: Literature Review, Proposal and Assessment, Information Systems and Technologies (CISTI, 2011 6th Iberian Conference (15-18 June 2011, Chaves), 1-6. References 4. Rawat M. S., Dubey S. K., Software Defect Prediction Models for Quality Improvement: A Literature Study, International Journal of Computer Science Issues, Vol. 9. , Issue 5. No.2, September 2012. 5. Trivedi P., Pachori S., Modeling and Analysis of Software Defect Prevention Using ODC, International Journal of Advanced Computer Science and Applications, Vol.1, No.3, September 2010.