CS 851: FORENSIC SOFTWARE ENGINEERING

FALL 2002

John C. Knight with Kimberly S. Hanks
Department of Computer Science



Assignments





A number of short writing assignments will be posted throughout the semester. These assignments will consist of 3-5 double-spaced pages (750-1250 words) of examination of an event, idea, or combination of the two. Details will be provided below for individual assignments, and assignments will be due no sooner than one week after they are posted. They will be graded on a {+ | ~ | -} scale; writing counts.

Writing assignments cumulatively account for 25% of your course grade.

Assignment 1

Posted: Tues Sept 3
Due: Mon Sept 16, beginning of class
Submission: Hard copy, 2-sided if desired

Browse RISKS for an incident or accident involving software. Discuss the following as they pertain to the event:
  • What is the nature of the system involved and the role of software in relation to it?
  • Can the event be argued to be "normal" in Perrow's sense of the word? Explain how it does or does not fit his description.
Please include the RISKS volume and issue number(s) referring to the event you discuss. You might also find it useful to research further details of your chosen event if the RISKS account does not provide sufficient information; this is encouraged. If you use other sources, please cite them.

You may converse with each other regarding your understanding of assigned reading material (Leveson and Perrow are particularly relevant for this assignment), but the analysis of your chosen event with regard to the material must be your own.

Assignment 2

Posted: Mon Sept 23
Due: Fri Oct 4, 5pm, to me personally or to envelope in Brenda Perkins' office
Submission: Hard copy, 2-sided if desired

Choose a failure paradigm suggested by Petroski (we will have only covered through chapter 6 before the due date, but you may choose any paradigm) and address the following with reference to it:
  • Choose an accident or incident reported on by Perrow (not explicitly software-related) and demonstrate how it exemplifies the paradigm.
  • Choose a software-related incident or accident from RISKS (you may reuse the event chosen for the first assignment if you like) and demonstrate how it exemplifies the same paradigm.
  • Qualify the value of such classification schemes. How useful are they? Under what constraints? How should we use them?
Please note page numbers for the event you choose from Perrow. Please also include the RISKS volume and issue number(s) referring to the software event you discuss. You might find it useful to research further details of your chosen events if the accounts included do not provide sufficient information; this is encouraged. If you use other sources, please cite them.

You may converse with each other regarding your understanding of assigned reading material (Petroski and Perrow are particularly relevant for this assignment), but the analyses of your chosen events with regard to the material must be your own.

Assignment 3

Posted: Mon Oct 14
Due: Tues Oct 22, 5pm
Submission: ascii text via email (ksh4q)

In 200-300 words (for this assignment only), propose a topic for your semester project. As noted on the project information page, you have two options for project type: 1) further examination, for example, a survey-style literature review (with reflective discussion), of a topic treated in a previous writing assignment or reading, or 2) original work leading to a research result, appropriate for submission to IRIA 2003. Your proposal should in either case highlight the main elements of your intended survey or research plan.

For both options, the project scale is 8-12 IEEE-formatted conference pages (with exceptions of length or medium possible for well-argued cases). You may work alone or in pairs. If you choose to work with someone, you have only the second project option, i.e., original work leading to a research result. Be sure to include both names on the proposal in this case, and add a brief section of 100-200 words describing your strategy for division of labor.

Proposals must be approved by John and myself, with changes if necessary, before becoming your official topics. If changes are suggested, you must accept them or negotiate others by November 1. This will leave you approximately 6 weeks to complete the project.

Assignment 4

Posted: Mon Nov 4
Due: Wed Nov 13, beginning of class
Submission: Hard copy, 2-sided if desired

We have seen that errors deriving from the nature of human cognitive abilities can originate in any phase of software development and use. Because such errors can contribute to the incidence and severity of accidents, we are interested in reducing their number and degree of effect. However, it can be unclear what the best course of action is, even when the mechanism for a particular error is believed to be understood. For example, it can be possible to address the same error by attempting to remove its possibility by design, or by better operator training, or by assessing it to be inevitable and instead focusing on coping with its possibility (or any of a number of other approaches). This process is made more complex by the fact that several such errors often contribute to a single eventual negative outcome.

For this assignment, develop and discuss two scenarios (actual or plausibly hypothetical) for which you would recommend two different approaches to addressing targeted human errors arising during the development and use of systems involving software. For example, you might develop one scenario for which you would recommend a design change in order to reduce or eliminate a source of error, and another scenario for which you would recommend a strategy for coping with an error that you believe to be inevitable. What factors affect your recommendations, especially when there are tradeoffs? What role (if any) is played by the application domain? What role (if any) is played by the criticality of the system? What else makes a difference?

Original assignment structure is in effect (750-1250 words, etc.) If you use sources other than yourself, please cite them. You may converse with each other regarding your understanding of any relevant reading material, but your arguments and recommendations must be your own.

Assignment 5

Posted: Wed Nov 20
Due: Wed Dec 4, beginning of class
Submission: Hard copy, 2-sided if desired

Kletz proposes a method, "layered accident investigation", for analyzing incidents and accidents in such a way that appropriate lessons can more effectively be learned and presumably later applied. His method provides one possible framework around which to organize the information collected during an investigation and suggests directions for responding, in the form of recommendations, to the information thus organized.

For this assignment, develop a layered analysis summary (table(s) and discussion) in the style of those presented in Kletz' book for the Therac-25 radiation therapy machine accidents. Since there were a number of accidents of at least two different types associated with this device, part of your task will be to decide how to represent this information with Kletz' method. For example, his tables and accompanying discussions generally represent single instances of single types of event (for example a single loss of mission and the set of system circumstances precipitating it), while the Therac-25 was implicated in at least 6 separate overdose events, with at least two separate sets of system circumstances allowing for the possibility of these overdoses. In other words, you are being asked to extend the framework somewhat in order to record and present investigation data of a more complex form. You might simply create 6 separate layered analysis summaries, but the challenge is to represent this information in a way that emphasizes related (or contrasting) aspects of the events such that potentially useful implications may be derived, while keeping to the spirit of Kletz' method. Include a section in which you discuss the merits and limits of Kletz' original method as well as of the extensions you have made.

At your disposal for for this assignment are any references you choose, but particularly useful are Chapter 29 of Kletz, Chapter 2 of Peterson, and Appendix A of Leveson (Safeware) for information specific to the Therac events, and all of Kletz' book for an overview and example applications of his method.

Original assignment structure is in effect (750-1250 words, etc., *exclusive of tables*). Please cite your sources. You may converse with each other regarding your understanding of any relevant reading material, but your ideas and analyses must be your own.



There are no further assignments posted at this time.


Last updated 11/20/02 Maintained by Kimberly S. Hanks