Issue No. 02 - March-April (2004 vol. 2)
Matt Bishop , University of California, Davis
Deb Frincke , Pacific Northwest National Laboratory
Badly written programs are a common reason for security failures. Programs crash, or fail to perform as intended, when users provide invalid inputs, either deliberately or accidentally. One response by the educational community has been to teach robust programming, which aims to prevent abnormal termination or unexpected actions and requires code to handle bad (invalid or absurd) inputs in a way that is consistent with the developer's intent. For example, if an internal error occurs, the program might terminate gracefully rather than simply failing, providing enough information for the programmer to debug the program and avoiding giving the user additional access or information.
D. Frincke and M. Bishop, "Teaching Robust Programming," in IEEE Security & Privacy, vol. 2, no. , pp. 54-57, 2004.