


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Engineering Software; Subject: Computer Science; University: University of Virginia; Term: Fall 2006;
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



cs205: engineering software university of virginia fall 2006
David Evans www.cs.virginia.edu/cs205 (^) cs205: engineering software 2
val·i·date
Can we do any of these with software?
cs205: engineering software 3
READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE. BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS AGREEMENT.
cs205: engineering software 4
cs205: engineering software 5
cs205: engineering software 7
Using some successful tests to conclude that a program has no bugs, is like concluding there are no fish in the lake because you didn’t catch one!
cs205: engineering software 9
cs205: engineering software 11
Test all paths through the specification
public CellState getNextState () // MODIFIES: this // EFFECTS: Returns the next state for this cell. If a cell is currently // dead cell and has three live neighbors, then it becomes a live cell. // If a cell is currently alive and has two or three live neighbors it // remains alive. Otherwise, the cell dies.
cs205: engineering software 12
Test all paths through the specification:
public CellState getNextState () // MODIFIES: this // EFFECTS: Returns the next state for this cell. If a cell is currently // dead cell and has three live neighbors, then it becomes a live cell. // If a cell is currently alive and has two or three live neighbors it // remains alive. Otherwise, the cell dies.
cs205: engineering software 19
cs205: engineering software 21
It is impossible to correctly determine if any interesting property is true for an arbitrary program!
The Halting Problem: it is impossible to write a program that determines if an arbitrary program halts.
cs205: engineering software 22
cs205: engineering software 23