Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> Defect prevention in CMM and causal analysis and resolution in CMMI are focused on identifying the root cause of defects and preventing defects from recurring. Actions are expected at a project level as well as organization level. This paper provides a general framework of defect prevention activities which consists of organization structure, defect definition, defect prevention process and quality culture establishment. Implementation of defect prevention results in rapid and sustained improvement in software product quality which is evident from an example in Neusoft Group, where defect density in post release phase decreased from 0.85 defects/KLOC in 2000 to 0.1 defects/KLOC in 2005 <s> BIB001 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> Defect causal analysis (DCA) is a means of product focused software process improvement. A systematic literature review to identify the DCA state of the art has been undertaken. The systematic review gathered unbiased knowledge and evidence and identified opportunities for further investigation. Moreover, some guidance on how to efficiently implement DCA in software organizations could be elaborated. This paper describes the initial concept of the DBPI (Defect Based Process Improvement) approach. It represents a DCA based approach for process improvement, designed considering the results of the systematic review and the obtained guidance. Its main contributions are tailoring support for DCA based process improvement and addressing an identified opportunity for further investigation by integrating organizational learning mechanisms regarding cause-effect relations into the conduct of DCA. <s> BIB002 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> With the increase of the software complexity, the defect measurement becomes a task of high priority. We give a new software defect analytical methodology based on orthogonal classification. This method has two folds. Then a set of orthogonal defect classification (ODC) reference model is given which includes activity, trigger, severity, origin, content and type of defect. In the end, it gives a support tool and concrete workflow of defect tracing. In contrast with the traditional method, this method not only has the advantages of popularity, haleness and low cost, but also improves the accuracy of identifying defects notably. Thus it offers a strong support for the prevention of defects in software products. <s> BIB003 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> This paper describes a test application development tool designed with a high degree of defect prevention and detection built-in. While this tool is specific to a particular tester, the PT3800, the approach that it uses may be employed for other ATE. The PT3800 tester is the successor of a more than 20 year-old tester, the PT3300. The development of the PT3800 provided an opportunity to improve the test application development experience. The result was the creation of a test application development tool known as the PT3800 AM creation, revision and archiving tool, or PACRAT (AM refers to automated media, specifically test application source code). This paper details the built-in defect prevention and detection techniques employed by PACRAT. <s> BIB004 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> "Learning from the past" to make systems more efficient in terms of cost and time is the hallmark of any engineering discipline. Prevention of defects is the "holy grail" of "learning's from the past" i.e. every product generation we learn from our defects and prevent it from recurring in the next generation. Taking this philosophy further "capturing defects in the earlier stage of the life cycle" is a means of preventing defects in the later stages of the product life cycle. Correction of defects is costly and the cost increases exponentially with every subsequent stage. This also impacts the cycle-time directly. Defect prevention then not only helps in cost reduction but also helps in cutting down the development time. When we talk of software development, we are talking of hundreds of defects (in-process as well as post release). It would be very inefficient and time-consuming to have preventive action planning for each of them, as most of them could be symptoms of some common root cause. If we have to handle software defects of such large magnitude the best way then would be to classify them into patterns and then do root cause analysis on those patterns. There are number of methodologies available in the industry to do this classification and IBM's ODC (Orthogonal defect classification) is one such methodology. The methodology classifies each defect into orthogonal (mutually exclusive) attributes some technical and some managerial. These attributes provide all the information to be able to sift through the enormous volume of data and arrive at patterns on which root-cause analysis can be done. This coupled with good action planning and tracking can achieve high degree of defect reduction and cross learning. The questions always then are -- can methodologies be really applied to do software defect prevention in a structured way? How can an abstract defect classification mechanism really help to identify patterns? How does one measure the effectiveness of such actions? Who should do these activities? How does all this fit into the existing process framework? This paper is an attempt to answer these questions by sharing the experiences of using the IBM-ODC methodology in a case study of real-life software development project (DVD player product). The motivation of this paper is not to discuss the ODC methodology itself but rather to demonstrate through a case study, the structured process for defect prevention using some attributes of ODC for defect classification and its related interpretations for causal analysis, action planning and results tracking. The fitments of the scheme into the bigger picture of defect prevention, cross learning and mapping to elements of the SEI-CMMI framework are some of the highlights of this paper. The paper concludes with a summary of learning's and some points to ponder. <s> BIB005 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> Defect prevention is the most vital but habitually neglected facet of software quality assurance in any project. If functional at all stages of software development, it can condense the time, overheads and wherewithal entailed to engineer a high quality product. The key challenge of an IT industry is to engineer a software product with minimum post deployment defects. This effort is an analysis based on data obtained for five selected projects from leading software companies of varying software production competence. The main aim of this paper is to provide information on various methods and practices supporting defect detection and prevention leading to thriving software generation. The defect prevention technique unearths 99% of defects. Inspection is found to be an essential technique in generating ideal software generation in factories through enhanced methodologies of abetted and unaided inspection schedules. On an average 13 % to 15% of inspection and 25% 30% of testing out of whole project effort time is required for 99% 99.75% of defect elimination. A comparison of the end results for the five selected projects between the companies is also brought about throwing light on the possibility of a particular company to position itself with an appropriate complementary ratio of inspection testing. Keywords—Defect Detection and Prevention, Inspections, Software Engineering, Software Process, Testing. <s> BIB006 </s> Contemporary Trends in Defect Prevention: A Survey Report <s> LITERATURE REVIEW AND CRITICAL ANALYSIS <s> "An ounce of prevention is worth a pound of cure." In software, these expressions translate into the common observation that the longer a defect stays in process, the more expensive it is to fix [10]. Moreover software defects are expensive and time consuming. The cost of finding and correcting defects represents one of the most expensive software development activities. And that too, if the errors get carried away till the final acceptance testing stage of the project life cycle, then the project is at a greater risk in terms of its Time and Cost factors. A small amount of effort spent on quality assurance will see good amount of cost savings in terms of detecting and eliminating the defects. To gain a deeper understanding of the effectiveness of the software process, it is essential to examine the details of defects detected in the past projects and to study how the same can be eliminated due to process improvements and newer methodologies. This paper will focus on finding the total number of defects that has occurred in the software development process for five similar projects and aims at classifying various defects using first level of Orthogonal Defect Classification (ODC), finding root causes of the defects and use the learning of the projects as preventive ideas. The paper also showcases on how the preventive ideas are implemented in a new set of projects resulting in the reduction of the number of similar defects. <s> BIB007
Suma and Nair BIB006 describe the importance of defect prevention approaches by highlighting that software inspection that requires 15% of total project time and is categorized as the fruitful quality aspect of a product as it reduces development cost and time. Defect removal efficiency ratio and orthogonal defect classification techniques are also valuable for the prevention of defects. Through training and applying well-known standards, an organization can thrive for a better environment and improvement in quality standards. The strength of the study is that it provides the comparison among different approaches and techniques of defect prevention. Meticulous analysis of different organizational levels analysis is enunciated. Chang et al.  stress on the importance of take preventive measures to control the defects in the early stages of the project. Causal analysis is a commonly used technique to ascertain the causes of defects and take remedial actions. However, when the reported defects grow in numbers, it becomes too difficult to handle and take preventive actions. The defect prediction is very important for defect prevention and software process improvement. The study presents defect prediction approach based on association rules, which applies association mining technique. The proposed approach can be applied to the software development process to predict the actions that are likely to cause high defect rates. (ABDP approach coupled with classification decision tree technique is used to build a prediction model, and performs association rule mining on the defects. The association rule mining is data mining technique used to find frequent patterns, associations, correlations or causal structures among a large dataset. For the validation, the proposed approach is applied to a business project. Kumaresh and Baskaran BIB007 classify the defect data using ODC and defect analysis methodology. On the basis of defect analysis, root cause analysis is conducted using cause-effect diagram and preventive actions are implemented. Through this methodology, defects density is reduced and productivity is improved. While using ODC methodology, it is observed that most of the defects are related to logical error (coding) and requirements. The results show that defect prevention plays a vital part in every project lifecycle and reduce the defect reoccurrence density which leads to reduction in rework, cost and effort. Defect density is measured in terms of: Defect Density = # of defects / size (KLOC) … (1) The study discusses the defect prevention phase as a whole for the entire project lifecycle by exhaustively analyzing the organizational level data. Marcos et al. BIB002 describe defect casual analysis implementation for the process improvement in the organization. By applying the DCA concept, study shows that the reduction of defect rate still remains at 50% in different organizations. To achieve better quality of products, the following six steps are recommended to be implemented through the DCA: Sample of the defects 2. Classifying defects 3. Summarizing repeated defects 4. Defining causes 5. Action planning 6. Documentation The study also introduces the approach of DBPI (defect prevention based process improvement), which seems to be a promising technique to improve the quality. Furthermore, the study also highlights that Pareto and cause-effect techniques are more appropriate to implement DCA. Trivedi and Pachori  focus ODC methodology to implement defect prevention in software industry. Real world implementation of ODC provides better way to classify and detect defects. HP and IBM use ODC to classify software defects and find out the root causes for preventive action. By applying ODC methodology, defect attributes are identified as defect trigger, defect type and defect qualifier. Results are analyzed after implementation of ODC in software development lifecycle which shows that defect detection and cost of defect detection is reduced. The contribution of the study is that it describes the importance of ODC in project life cycle and how it introduces the quality in product. How the improvement of processes are conducted and evaluated. Shenvi BIB005 highlights the importance of defect prevention using ODC to classify the defects. Defect prevention improves the quality of product and also reduces the cost and development time of the project. After classifying defects, root cause analysis is done to prevent them occurring again. Orthogonal methodology classifies every defect into mutually exclusive attributes of technical and managerial types. Case study of reallife software development project is presented in this paper to show how this methodology fits together in the existing process framework. Defect prevention workflow is discussed which include steps like defect identification, defect classification, casual analysis, tracking, measurement, results verification and learning's. After applying root cause analysis, some causes appeared as missing requirements and some incorrect requirements. Defect prevention work flow is one the best practice. CMMI key process area is presented. Importance of defect prevention is described using the real life DVD project. Implementation of DOORS tool is discussed. Tiejun et al. BIB003 define a defect tracing system as a new defect analytical methodology of defect prevention technique which is totally based on ODC. The study presents workflow of the defect tracing system and shows how this methodology improves the accuracy of identifying defects. ODC reference model is Omnidirectional analysis and has four basic attributes: Reason, Consequence, Verification and development. By using the work flow activities and ODC concept this bug tracking system is proposed, through using this technology bugs can easily traced. Bug tracing system (BTS) first initializes the process through submitting the problem which record all attributes related to the bug and then manager processes the verification and follow on activities defined in workflow of BTS. By applying BTS methodology, the defect processing has improved to 40% and management is able to make a quality evaluation on every software module. Bean BIB004 suggests implementation of defect prevention and defect detection technique in the test application development tool named Performance and Continuous Re-Commissioning Analysis Tool (PACRAT). The PACRAT and PT3300 are used with combination. Defect prevention activities are implemented to build the automated test equipment like tracking defects, identifying the root causes of defects and providing solution to these issues before the development of the tool. A database has been created for the validation and syntax check including the entire defect detection activities. PCRAT is one of the best automated tools regarding implementation of defect prevention and defect detection activities. Tools are explained thoroughly regarding standards like CMMI and SIX SIGMA. Meng et al. BIB001 Proposed a defect prevention framework that decreased defect density from 0.85 to 0.1 per kilo line of code (KLOC). Project planning and process tracking are defined by using the data analysis technique. Defect prevention activities are carried out in different phases of project life cycle to achieve better quality level. The defect prevention activities include: