Larry Bernstein, Industry Professor in the Computer Science department at Stevens Institute of Technology, will present an invited talk at the third International Conference on Autonomic and Autonomous Systems. Bernstein’s discussion, “Trustworthy Software Systems,” will also include a tutorial as part of the annual conference, held June 19 to 25, 2007 in Athens, Greece.
“Much software engineering focuses on cost and schedule – especially schedule. My view is that a shift is needed. The software engineer must make judgments or tradeoffs among the features the software provides, the time it will take to produce the software, the cost of producing the software, how easy it is to use and how reliable it is. Too often performance and functional technical requirements become an issue once the software is deployed. Rarely is trustworthiness considered. Not only must software designers consider how the software will perform, they must account for consequences of failures. Trustworthiness encompasses this concern. The requirements must encompass the trustworthiness of the emerging system,” said Bernstein.
Trustworthy software is stable software. It is sufficiently fault-tolerant that it does not crash at minor flaws and will shut down in an orderly way in the face of major trauma. Trustworthy software does what it is supposed to do and can repeat that action time after time, always producing the same kind of output from the same kind of input. The National Institute of Standards and Technology (NIST) defines trustworthiness as “software that can and must be trusted to work dependably in some critical function, and failure to do so may have catastrophic results, such as serious injury, lost of life or property, business failure or breach of security.” Some examples include software used in safety systems of nuclear power plants, transportation systems, medical devices, electronic banking, automatic manufacturing, and military systems.