CS655: Programming Languages, Spring 2001
Manifest: Thursday 5 April 2001
Assignments Before 11am, Tuesday 10 April Email me about Proof-Carrying Code (see below) By midnight Tuesday 10 April Progress Email on your project - send me an update describing the progress you have made on your project, any substantial changes to your project goals and plan, and any issues you need resolve. ReadingsRead before Tuesday 10 April (handed out Tuesday):
- George Necula and Peter Lee. Safe Kernel Extensions Without Run-Time Checking. Operating Systems Design and Implementation, 1996.You may skip section 3.1. This paper describes proof-carrying code, a practical (?) application of axiomatic semantics. Before 11am Tuesday 10 April, send me a three-line email message on whether on not you think proof-carrying code is useful.
Useful Proof MethodsProof by intimidation: "Trivial" or "obvious."
Proof by exhaustion: An issue or two of a journal devoted to your proof is useful.
Proof by omission: ``The reader may easily supply the details'', ``The other 253 cases are analogous''
Proof by obfuscation: A long plotless sequence of true and/or meaningless syntactically related statements.
Proof by funding: How could three different government agencies be wrong?
Proof by lack of funding: How could anything funded by those bozos be correct?
Proof by democracy: A lot of people believe it's true: how could they all be wrong?
Proof by reference to inaccessible literature: The author cites a simple corollary of a theorem to be found in a privately circulated memoir of the Icelandic Philological Society, 1883. This works even better if the paper has never been translated from the original Icelandic.
Proof by forward reference: Reference is usually to a forthcoming paper of the author, which is often not as forthcoming as at first.
Proof by flashy graphics: A moving sequence of shaded, 3D color models will convince anyone that your object recognition algorithm works. An SGI workstation is helpful here. Proof by vehement assertion: It is useful to have some kind of authority relation to the audience, so this is particularly useful in classroom settings.
Proof by vigorous handwaving: Works well in a classroom, seminar, or workshop setting. Proof by cumbersome notation: Best done with access to at least four alphabets, special symbols, and the newest release of LaTeX.
Proof by lack of space: "The proof is not detailled due to lack of space in this proceedings..." works well in conjunction with proof by forward reference.
Selected from http://www.ai.sri.com/~luong/research/proof.html.
None of these proof methods are suggested in your problem sets or project reports.
University of Virginia
Department of Computer Science
CS 655: Programming Languages