Robson Ytallo Silva de Oliveira Code Inspection Robson Ytallo Silva de Oliveira November 15, 2018
Overview Introduction Code Inspection Techniques Code Inspection : A Survey Summary Concluding Remarks November 15, 2018
Introduction “The software inspection process is generally considered a software engineering best practice” [Wheeler, 1996]. November 15, 2018
Introduction Code Inspection Goals Find and fix defects In Software Reuse Make the code easier to understand and change Improve the maintainability of the code Minimizing redundancies Improving language proficiency Improving safety and portability November 15, 2018
Introduction Real Example of Benefits NASA (Jet Propulsion Laboratory) Saved $25,000 per Inspection Around 300 Inspections Saved $7,5 million November 15, 2018
Code Inspection Techniques The Relevant Techniques Formal Technical Review Pratical Model Variants of the Pratical Model November 15, 2018
Code Inspection Techniques Formal Technical Review (FTR) Five-Step Inspection Method Overview Preparation Inspection Meeting Rework Followup November 15, 2018
Code Inspection Techniques Pratical Model Three-Step Preparation Collection Repair November 15, 2018
Code Inspection Techniques Variants of the Pratical Model Active Design Review (ADR) Phased Inspection (PI) N-Fold Inspections High Price November 15, 2018
Code Inspection : A Survey Before 1976 From 1976 until today Several Variants New Techniques New Models Tools November 15, 2018
Compiler Writers’ Responsability Static Inspection Advantage [Hatton, 1995] Compiler Writers’ Responsability Static Inspection Advantage Disadvantage November 15, 2018
[Porter et al., 1997] Cost-Benefits Experiment for Code Inspection Techniques Conclusions Advantage Problems Measurement Problems Discontinuing Treatments Simplified Instrumentation November 15, 2018
[Porter et al., 1997] Motivation Real Group x Nominal Group [Votta et al., 1985] Preparation X Inspection Meeting Real Group x Nominal Group Experiment 1 Conclusion Paper’s Conclusion November 15, 2018
[Wood et al., 1997] [Basili et al., 1980] Conclusion Techniques Comparation Techniques Combination Conclusion November 15, 2018
[Johnson, 1998] November 15, 2018
“Build organizational knowledge bases on review.” [Brykczynski, 1999] Checklists Update “Build organizational knowledge bases on review.” [Johnson, 1998] Size November 15, 2018
[Travassos et al., 1999] Reading Techniques Importance in OO Designs Problem November 15, 2018
[Kimble et al., 2000] An Alternative Source Code Analysis Parser Modified Notation Control Flow Diagram – CFD Thread Analysis November 15, 2018
[Adams, 2000] Before 1976 Inspections and Reviews’ Necessities Apollo 11 Inspections and Reviews’ Necessities November 15, 2018
[Nandivada et al., 2000] The 9 Quadrant Model for Code Reviews November 15, 2018
[Nandivada et al, 2000] November 15, 2018
[Siy et al., 2001] Motivation Proposal Results Conclusions Minor defects Proposal Classify soft maintenance issues Cost benefit model Survey Results Conclusions November 15, 2018
[Biffl et al., 2001] Statistical Model Economic Model Conclusions Inspection Effectiveness Economic Model Inspection Benefits Conclusions Best mix of Reading Techniques Optimal Team Size Additional Inspector November 15, 2018
[Biffl et al., 2001] Reinspections Cost-Benifit Model Conclusion November 15, 2018
“Build organizational knowledge bases on review.” [Wohlin et al., 2002] Benchmarking Inspection Benchmarking “Build organizational knowledge bases on review.” [Johnson, 1998] Conclusion November 15, 2018
“Investigate computer-mediated review technology.” [Tyran et al., 2002] Real Group vs Nominal Group Group Support Systems – GSS “Investigate computer-mediated review technology.” [Johnson, 1998] Conclusion November 15, 2018
[Parnas et al., 2003] Inspection Methods vs Informal Reviews Workshop on Inspection in Software Engineering – WISE IEEE Software Magazine IEEE Transactions on Software Engineering The future of inspection Refine the software Inspection Process Systems with Real-Time requirements and Concurrent Activities Tool Supported Software Inspection November 15, 2018
[Thelin et al., 2003] Usage-based Reading Technique (UBR) Conclusion November 15, 2018
[Travassos et al., 2004] Framework ISPIS Integration Mechanism Historical Data Conclusion “Build organizational knowledge bases on review.” “Investigate computer-mediated review technology.” [Johnson, 1998] November 15, 2018
[Remillard, 2005] Source Code Review Systems Bugzilla CodeStriker It isn’t Formal Inspections Supported CodeStriker Pure text files Recommendation November 15, 2018
November 15, 2018
Summary November 15, 2018
Concluding Remarks FTR – Some Variants Cost-Benefit Future Real-Time Requirements Concurrent Activities November 15, 2018
Towards a well-defined requirements for software components inspection Meetings Preparation Reviews Cost Benefit Tools Models Benchmarking November 15, 2018
References HATTON, Les et al. Static Inspection: Tapping the whells of software. 1995. PORTER, Adam et al. An Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale Software Development. 1997. PORTER, Adam et al. Assessing Software Review Meetings: Results of a Comparative Analysis of Two Experimental Studies. 1997. WOOD, Murray et al. Comparing and Combining Software Defect Detection Techniques: A Replicated Empirical Study. 1997. November 15, 2018
References JOHNSON, Philip. Reengineering Inspection. 1998. BRYKCZYNSKI, Bill. A Survey of Software Inspection Checklists. 1999. TRAVASSOS, Guilherme et al. Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality. 1999. KIMBLE, James et al. An Alternative Source Code Analysis. 2000. ADAMS, Tom. The God of Inspection. 2000. November 15, 2018
References NANDIVADA, Ravi et al. The 9 Quadrant Model for Code Reviews. 2000. SIY, Harvey et al. Does The Modern Code Inspection Have Value?. 2001. BIFFL, Stefan et al. Influence of Team Size and Defect Detection Technique on Inspection Effectiveness. 2001. BIFFL, Stefan et al. Investigating the Cost-Effectiveness of Reinspections in Software Development. 2001. November 15, 2018
References WOHLIN, Claes et al. Software Inspection Benchmarking - A Qualitative and Quantitative Comparative Opportunity. 2002. TYRAN, Craig et al. Improving Software Inspections with Group Process Support. 2002. PARNAS, David et al. The Role of Inspection in Software Quality Assurance. 2003. THELIN, Thomas et al. Prioritized Use Cases as a Vehicle for Software Inspections. 2003. November 15, 2018
References TRAVASSOS, Guilherme et al. ISPIS: A Framework Supporting Software Inspection Processes. 2004. REMILLARD, Jason. Source Code Review Systems. 2005. November 15, 2018
That's All Folks November 15, 2018