2/18/2009 1 CSE403: Software Engineering David Notkin Winter 2009 Reviews: software and midterm Reviews, etc. ? Reviews, walkthroughs, and inspections are all in a family of activities where an artifact (specification, code, etc.) is studied by a peer group to improve the artifact?s quality ? There is a large and increasing literature that demonstrates the effectiveness (although not always the cost-effectiveness) of these approaches Notkin (c) 1997 2 Reviews, etc. ? N-heads are better than one ? Intended to ? identify defects ? identify needed improvements ? encourage uniformity and conformance to standards ? enforce subjective rules Notkin (c) 1997 3 Purposes ? Increase quality through peer review ? Provide management visibility ? Encourage preparation ? Explicit non-purpose ? Assessment of individual abilities for promotion, pay increases, ranking, etc. ? Management usually not permitted at reviews Notkin (c) 1997 4 Walkthrough ? A formal activity ? A programmer (designer) presents a program (design) ? Values of sample data are traced ? Peers evaluate technical aspects of the design Notkin (c) 1997 5 Notkin (c) 1997 6 Inspections [Sommerville] ? Formal approach to code review ? Intended explicitly for defect detection (not correction) ? Defects include logical errors, anomalies in the code (such as uninitialized variables), non-complicance with standards, etc. 2/18/2009 2 Notkin (c) 1997 7 Inspection requirements ? A precise specification must be available ? Peers must be knowledgeable about organizational standards ? Code should be syntactically correct and basic tests passed ? Error checklist must be provided Notkin (c) 1997 8 Inspection process ? Plan ? Overview ? Individual preparation ? Code, documentation distributed in advance ? Meeting ? Rework ? Follow-up Notkin (c) 1997 9 Inspection teams ? Four or more members ? Author of code ? Reader of code (reads to team) ? Inspector of code ? Moderator chairs meeting, takes notes, etc. Inspection checklists ? Checklist of common errors drives inspection ? Checklist dependent on programming language ? Weaker type systems usually imply longer checklists ? Examples ? Initialization, loop termination, array bounds, ... Notkin (c) 1997 10 Notkin (c) 1997 11 Inspection rate ? 500 statements/hour during overview ? 125 statements/hour during individual prep ? 90-125 statements/hour during review ? Inspecting 500 statements can take 40 person-hours ? For 1MLOC, this would be about 40 person-years of effort Notkin (c) 1997 12 Issues in inspections ? Can groupware technology significantly improve inspections? ? Can you have inspections without meetings? ? Since meetings are expensive to hold and schedule ? Since the preparation may catch more defects than the meetings 2/18/2009 3 Software quality assurance ? What are we assuring? ? Why are we assuring it? ? How do we assure it? ? How do we know we have assured it? UW CSE 403 13 What are we assuring? ? Validation: building right system? ? Verification: building system right? ? Presence of good properties? ? Absence of bad properties? ? Identifying errors? ? Confidence in the absence of errors? ? Robust? Safe? Secure? Available? Reliable? Understandable? Modifiable? Cost-effective? Usable? ? UW CSE 403 14 Why are we assuring it? ? Business reasons ? Ethical reasons ? Professional reasons ? Personal satisfaction ? Legal reasons ? Social reasons ? Economic reasons ? ? UW CSE 403 15 How do we assure it? UW CSE 403 16 Product PeopleProcess How do we know we have assured it? ? Depends on ?it? ? Depends on what we mean by ?assurance? ? ? UW CSE 403 17 Midterm: the course web sez ? Both examinations will consist entirely of questions that will require you to bring together information from the lectures, from the readings (not including optional ones), and (to a much lesser degree) from your projects. ? ? They are open-book and open-note, but closed-any-other-sentient-being; all material not produced directly by you must be appropriately cited. ? To allow you to type the answers (which allows me to read the answers more easily), these exams will be handed out at 2:30PM in the classroom on the two examination days. See email to sign up for your two-hour slot via a Catalyst ?quiz?. You may work on the exams anywhere you wish. ? They are due, electronically (details to be announced), four hours later (at 6:30PM on the same day). two hours after your starting time into the dropbox (which marks the time submitted). ? I will need significant notice in advance if either of these four hour periods are infeasible for you. [too late for significant advance notice] UW CSE 403 18 2/18/2009 4 Expectations ? One hour of work in two hours of time ? Read the required readings ? Review the lecture materials ? Expect questions such as ? ??No Silver Bullet? preceded the development of agile methods by over a decade. What do you think Brooks? reaction to the Agile Manifesto would be, based on specific content in his paper?? ? ?Briefly discuss how Michael Jackson might react to a proof of correctness, using Hoare triples, of a priority queue assignment in CSE326.? ? Answers that are short-and-sweet are much preferred to long-and- rambling responses for which you hope to get partial credit because you said something that is true even if it doesn?t relate to the question UW CSE 403 19 Questions? UW CSE 403 20 David Notkin 403
Want to see the other 4 page(s) in review?JOIN TODAY FOR FREE!