CPE 309 Software Inspection Process

  1. Work Product

    In what state of development is the source code being inspected? (Generally most inspections are for code that is written and compiles without error but has undergone no unit testing.  This is important.  Do NOT execute your program before having it inspected.)
    Compiles without error, not unit tested.
    Code must be line numbered.

    How many lines of code (max) should be reviewed?
    250.
     

  2. Participants

      Who are the participants in the inspection?
    Author and two other developers. Both will be inspectors, and one also serves as moderator.
     
  3. Preparing for Inspection

    In what form and via what procedure is the code submitted to the inspectors?
    Computer readable form, e-mailed to inspectors.

    How much lead time should be granted to the inspectors?  24 hrs.

    What preparatory activities are inspectors to carry out?
    Print out source code (using monospaced font).
    Obtain any relevant detailed design documents.
    Obtain Inspection Checklist, Coding Standard, and Preparation Log.
    Review Inspection Checklist and Coding Standard.  Fill out header of Preparation Log.
    Note starting time.

    What are the specific, detailed procedures an individual inspector performs?
    Each inspector uses the Inspection Checklist to try to identify as many potential defects as possible. This should be done in a single, uninterrupted sitting. Read the code line by line, attempting to fully understand what you are reading. The code should be self-explanatory; if it isn't note this as an issue. At each line or block of code, skim through the inspection checklist, looking for questions which apply.  Write down each probable defect, question, or issue on the Preparation Log (not the source code), referring to the line number on the listing.  Note any trivial violations of coding standard on the source code listing itself.

    At what rate (LOC/hr) should inspectors carry out their preparation? 70 - 120 LOC/hr

    What forms does an inspector complete about their preparation?
    Preparation Log
     

  4. Checklist 

    Here is a sample inspection checklist.

     

  5. Meeting.

    What are the entry criteria? I.E., what must be completed before the meeting can occur?
    Complete Preparation Log and marked source code listing from each inspector.

    Who attends? Who does not attend?
    Author and inspectors, not upper management.

    What is the purpose?
    Discuss issues on the Preparation Logs, Consolidate issues, identify defects.

    What is the time limit for the meeting?
    2 hours.

    What happens during the meeting? Describe the sequence of activities.
    Moderator leads the meeting, drawing attention to each section of code and soliticing issues.  Inspectors contribute issues from their Preparation Logs.  Issues are evaluated to determine if they are real defects.

    What roles does each participant play during the meeting?
    The author is present simply to obtain feedback, not to present, explain, or defend the code!
    Moderator directs the meeting, keeping focus on identifying defects, not solving problems or finding "better" solutions.
    Inspectors share issues and evaluate issues.
     

    What documentation is created and what data is gathered during the meeting?
    Defect Log is created of all defects found.
    Inspection report summarizing the meeting and conclusions is written by the moderator.

    How is the documentation and data gathered and reported? To whom? When?
    Defect log is given to author. These defects are not entered into the team defect tracking system.  They are recorded by the author in his/her PSP defect log.
    Source code listings with trivial defects are given to the author.
    Inspection report and copy of defect log are kept by moderator for Follow-up (see below).
         

  6. Rework 

    What are the acceptance criteria for the work product?
    There must be no severe defects, less than three minor defects, and less than ten trivial defects.


    How is work which fails to meet the acceptance criteria to be handled?
    The author must rework the code to correct the defects.


    What are the procedures for carrying out rework?
    Author is responsible for addressing all items in the Defect Log.  Defects which caused non-acceptance must be repaired before approval is granted.  Remaining defects may be prioritized at author's discretion.
     

  7. Follow up. 

    Who is responsible for verifying that rework has been completed satisfactorily?
    Moderator will determine if defects have been corrected in an acceptable manner.


    How does the verification happen?
    Author e-mails moderator the revised code.  Moderator checks against defect Log to verify acceptability.  Moderator may call a new inspection if necessary.


    How is the verification recorded?
    Inspection Report is amended to shows which defects have been corrected.  Report inspection status is changed from fail to pass.


    What are the exit criteria? I.E. what must be finished before the inspection is completed?
    Completed source code ready for unit test.  Amended inspection report (and copy of Defect Log) given to QA.
     
     

  8. Reference Materials

    What other development documents, checklists, or reference materials are required?
    Relevant design documents. 
    Preparation Log.
    Inspection Checklist.
    Coding Standard.
    Java API reference.
    Defect Log.
    Inspection Report.
     



CSc 206 Home