430 likes | 658 Views
Code Inspection. Robson Ytallo Silva de Oliveira. Overview. Introduction Code Inspection Techniques Code Inspection : A Survey Summary Concluding Remarks. Introduction. “T he software inspection process is generally considered a software engineering best practice” [Wheeler, 1996].
E N D
Code Inspection Robson Ytallo Silva de Oliveira
Overview • Introduction • Code Inspection Techniques • Code Inspection : A Survey • Summary • Concluding Remarks
Introduction “The software inspection process is generally considered a software engineering best practice” [Wheeler, 1996].
Introduction • Code InspectionGoals • Find and fix defects • InSoftware Reuse • Make the code easier to understand and change • Improve the maintainability of the code • Minimizing redundancies • Improving language proficiency • Improving safety and portability
Introduction • Real Example of Benefits • NASA (Jet Propulsion Laboratory) • Saved $25,000 per Inspection • Around 300 Inspections • Saved $7,5 million
Code Inspection Techniques • The Relevant Techniques • Formal Technical Review • Pratical Model • Variants of the Pratical Model
Code Inspection Techniques • Formal Technical Review (FTR) • Five-Step Inspection Method • Overview • Preparation • Inspection Meeting • Rework • Followup
Code Inspection Techniques • Pratical Model • Three-Step • Preparation • Collection • Repair
Code Inspection Techniques • Variants of the Pratical Model • Active Design Review (ADR) • Phased Inspection (PI) • N-Fold Inspections • High Price
Code Inspection : A Survey • Before 1976 • From 1976 until today • Several Variants • New Techniques • New Models • Tools
[Hatton, 1995] • Compiler Writers’ Responsability • Static Inspection • Advantage • Disadvantage
[Porter et al., 1997] • Cost-Benefits Experiment for Code Inspection Techniques • Conclusions • Advantage • Problems • Measurement Problems • Discontinuing Treatments • Simplified Instrumentation
[Porter et al., 1997] • Motivation • [Votta et al., 1985] • Preparation X Inspection Meeting • Real Group x Nominal Group • Experiment 1 • Conclusion • Paper’s Conclusion
[Wood et al., 1997] • [Basili et al., 1980] • Techniques Comparation • Techniques Combination • Conclusion
[Brykczynski, 1999] • Checklists • Update “Build organizational knowledge bases on review.” [Johnson, 1998] • Size
[Travassos et al., 1999] • Reading Techniques • Importance in OO Designs • Problem
[Kimble et al., 2000] • An Alternative Source Code Analysis • Parser • Modified Notation • Control Flow Diagram – CFD • Thread Analysis
[Adams, 2000] • Before 1976 • Apollo 11 • Inspections and Reviews’ Necessities
[Nandivada et al., 2000] • The 9 Quadrant Model for Code Reviews
[Siy et al., 2001] • Motivation • Minor defects • Proposal • Classify soft maintenance issues • Cost benefit model • Survey • Results • Conclusions
[Biffl et al., 2001] • Statistical Model • Inspection Effectiveness • Economic Model • Inspection Benefits • Conclusions • Best mix of Reading Techniques • Optimal Team Size • Additional Inspector
[Biffl et al., 2001] • Reinspections • Cost-Benifit Model • Conclusion
[Wohlin et al., 2002] • Benchmarking • Inspection Benchmarking “Build organizational knowledge bases on review.” [Johnson, 1998] • Conclusion
[Tyran et al., 2002] • Real Group vs Nominal Group • Group Support Systems – GSS “Investigate computer-mediated review technology.” [Johnson, 1998] • Conclusion
[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
[Thelin et al., 2003] • Usage-based Reading Technique (UBR) • Conclusion
[Travassos et al., 2004] • Framework ISPIS • Integration Mechanism • Historical Data • Conclusion “Build organizational knowledge bases on review.” “Investigate computer-mediated review technology.” [Johnson, 1998]
[Remillard, 2005] • Source Code Review Systems • Bugzilla • It isn’t Formal Inspections Supported • CodeStriker • Pure text files • Recommendation
Concluding Remarks • FTR – Some Variants • Cost-Benefit • Future • Real-Time Requirements • Concurrent Activities
Towards a well-defined requirements for software components inspection • Meetings • Preparation • Reviews • Cost Benefit • Tools • Models • Benchmarking
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.
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.
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.
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.
References • TRAVASSOS, Guilherme et al. ISPIS: A Framework Supporting Software Inspection Processes. 2004. • REMILLARD, Jason. Source Code Review Systems. 2005.