Title: Impact of Software Review and Inspection
1Impact ofSoftware Review and Inspection
- Doris Burckhart
- CERN ATLAS DAQ/EF-1
- Back-end software
2Content
- Software Development Process
- Informal Review
- Software Inspection Process
- Performed Software Inspections
- Results
- Experience
- Conclusions and Future
3 SW Development Process
identify needs common issues, define
priorities and work-plan, define components
Collect Requirements
Pre-design Investigations
perform pre-design investigations -gt identify
candidate technologies/techniques
High-level Design
develop high-level design
Total 800 000 linesincl. external sw
Detailed DesignImplementation
refine design, implement code
180,000 lines of C 40 generated
Testing Integration
unit test components integrate with other
subsystems
helpful Framework
Software Development Environment
Training, Programming and Testing Tools,
FrameMaker, html, SRT Configuration Management,
StP/OMT CASE TOOLS
4Review - Inspection
- Review
- Presentation of each SW Component to the Group
in each Development Phase - Discussion and Coordination with other
components - Goal Clarification and Accept/Reject Decision
- Inspection
- Quality Improvement Process to the software
project - GoalDefect Detection Defect Prevention
5Informal Review
- From the start of the project
- document preparation and monthly open meetings
- present status, results, proposals
- inform colleagues - receive feedback
- suggestions -gt enhancements -gt acceptance
- Results
- Coherent set of end-product components
- Increased communication
- Drawback
- Lack of time of reviewers
- No code review
Create basic Culture
6Inspection in the SDP
Requirements
Document Inspection
Design
Test Plan
Document Inspection
Document Inspection
Test Implementation
Implementation
Applying Testing Tools
Document Inspection
Code Inspection
Code Inspection
Quality Control
Test
7Inspection - Objectives
- Defect Detection
- documents are checked for cleanness and
consistency against rules - Defect Prevention
- learning from defects found
- suggesting improvements
- On the Job Training
- education in standards and rules
- apply creativity
Benefits
8Inspection Process Map
Based on Tom Gilbs Inspection method
Inspection Plan
Sources
Planning Entry
Rules
Inspection Team Inspection Leader Authors
Inspectors
Checklists
Kick-off Meeting
Product
Issue logtables
Checking
Logging Meeting
Action Lists
Brainstorming
Change Requests
Solid Framework
Edit
Follow-up
Exit
Data Summary
Exit Product
9List of performed Inspections
- Requirement Inspection
- DS - Diagnostic System
- IGUI - Integrated Graphical User Interface
- DAL - Data Access Library
- Design Inspection
- TM - Test Manager
- DS - Diagnostic System
- Code Inspection
- IPC - Inter Process Communication
- MRS - Message Reporting System
- IS - Information Service
- DAL - Data Access Library
- 180 pages of documents
- 8000 lines of code
Implicit Education
10Results Issue log table
- Each issue is logged, discussed, checked
- Emphasis on non-trivial issues
- Per Inspection 10 to 200 issues foundNumber of
recorded issue logs depend on - Type of Inspection
- Phase of Project
- Entry conditions
- Experience of Inspectors
- Counting system
- -gt Improved Code
- -gt Improved Documentation
Constructive Criticism
11Inspection Process Results
- Change Requests
- To Rules for Requirements, Design or Codinguse
of shall should may for Requirementsadopt
standard command line parametersuse of coding
conventionsprogram exit status convention
- To the Inspection ProcedureSuggestions about
editor comment typespossible strategy on rule
checking - Action Lists
- Actions to be performed outside the Inspection
Process - Questions to be clarified, i.e. beyond the scope
of Inspection
Build-in Flexibility
12Observations
- Requirements
- most important, the first in the chain
- a bug may propagate to the end
- -gt unwanted results even with perfect code
- Design
- the hardest to inspect
- difficult to provide a good set of guidelines
- Code
- most time consuming Code Documentation,
mother documents reference documents - Good set of rules, Use of automatic checking
tools
Start at the TOP
13Adaptation to Environment
- Everything is allowed
- which helps improving
- process
- product
- communication
- cooperation, education
- integration, coherence
- while keeping Consistency
- and
- improving Efficiency
- HEPgeographically distributedno specialized
expertiselittle formal traininglittle
hierarchical powerparticipation by conviction
Guiding Principle
14Efficiency - Flexibility
- Efficiency
- Inspection is time consuming
- - dont waste time and effort of inspectors
- Careful planning and Clear Instructions
- Solid Process Framework
- Inspect Samples
- Motivation of peers
- Flexibility
- Build in change Management
- Well defined procedure
- - but each inspection to be handled individually
Balance
15Experience
Fear to be criticized and judged
Take fears seriously Explain aims Respect
privacy Demonstrate helpfulness
ParticipationTrust amongst colleagues
Constructive criticism Integration Common
working culture
Inspection is
formal dry
Human Factor
16Conclusions
Reviews prepare the ground and stabilize
SDP Adaptation of the inspection method for the
Environment Gain in quality and experience
Appreciated by authors and peers Help for team
building in a distributed environment
Team Success
17Future
- Good understanding for the next phase
- stabilize inspection process and keep style
- provide a helpful framework based on experience
- use it through entire development cycle
- lighter inspection - faster turnaround time
- use sampling techniques
- keep real logging meetings where possible
- provide metrics
- stay flexible and efficient
Quality
http//atddoc.cern.ch/Atlas/DaqSoft/sde/Welcome.ht
ml doris.burckhart_at_cern.ch