Introductory Readings and Writeups for students working with Dr. Cheng
-
High Assurance Software:
-
Therac Article (Leveson and Clark)
-
Ariane 5 Missile Accident
- Question: Who is to blame for the accidents?
- Write a 1-2 page critique summarizing the paper and answering the
question.
-
Formal Methods: State of the Art and Future Directions, E.M. Clarke and
J.M. Wing
-
Seven More Myths on Formal Methods, J.P. Bowen and M. Hinchey
- Question: What are
the advantages and the disadvantages to FM? How can we overcome the
disadvantages, while leveraging the advantages?
- Write a 1-2 page critique summarizing the paper and answering the
questions.
- A. Avizienis, J.-C.
Laprie and B. Randell. Fundamental Concepts of Dependability, Research
Report N01145, LAAS-CNRS, April 2001. (citeseer,
local)
- Question: What
aspects of dependability have you dealt with in software development? How
have you tried to ensure dependability in software that you've developed?
- Write a 1-2 page critique summarizing the paper and answering the
questions.
-
Object-Oriented Design
and Reuse:
-
Design Patterns (original paper): Gamma et al
-
Designing Reusable Classes (original frameworks paper): Johnson and
Foote (new 2/26/01)
- Question: How have
you used OOD and/or OOP to take advantage of reuse? What do you
think are the challenges to using patterns? What do you think are the
challenges to design and code reuse?
- Write a 1-2 page critique summarizing the paper and answering the
questions.
-
Adaptive Software:
Administrative Information:
- Weekly Status Reports: All students need to turn in weekly status
reports. Here is the ASCII template (here).
The status reports are due by 9:00 p.m. the night before our regularly
scheduled meeting. (Here
is a version of the status report in Latex in case you need to learn Latex --
the word processing language that I use for writing all of my papers.)
- Word processing: All students working with me will need to learn
Latex, the word processing utility. There are many references for latex. Below
are a sampling: