POSIX mini-challenge 01
POSIX mini-challenge
Leo Freitas and Jim Woodcock University of York December 2006 @ TC Dublin
POSIX mini-challenge Leo Freitas and Jim Woodcock University of - - PowerPoint PPT Presentation
POSIX mini-challenge 01 POSIX mini-challenge Leo Freitas and Jim Woodcock University of York December 2006 @ TC Dublin POSIX mini-challenge 02 A grand challenge Tony Hoare automatically verified software: a grand scientific challenge
POSIX mini-challenge 01
Leo Freitas and Jim Woodcock University of York December 2006 @ TC Dublin
POSIX mini-challenge 02
automatically verified software: a grand scientific challenge for computing
urich conference vstte.inf.ethz.ch
qpq.csl.sri.com
vsr.sourceforge.net
POSIX mini-challenge 03
A mature scientific discipline should set its own agenda and pursue ideals of purity, generality, and accuracy far beyond current needs what should we do?
– 1,000,000 lines – replacing existing unverified ones (i.e., UNIX-POSIX)
POSIX mini-challenge 04
1. a comprehensive theory of programming
programs 2. a coherent toolset
3. a collection of verified programs
POSIX mini-challenge 05
vstte.ethz.ch/Files/joshi-holzmann.pdf
– standards – formal specification – Morgan & Sufrin’s UNIX file store
POSIX mini-challenge — requirements 06
create, open, close, unlink, read, write, truncate, ftruncate, stat, fstat, mkdir, rmdir, rename, opendir, readdir, rewinddir, closedir, format, mount, unmount
POSIX mini-challenge — requirements 07
– encryption – directory contents listing – operations with regular expressions
POSIX mini-challenge — requirements 08
POSIX mini-challenge — requirements 09
– bad blocks and read errors
“no corruption in the presence of unexpected power loss”
“we make the very conservative guarantee that the result of executing concurrent filesystem operations is equivalent to executing them in some serial order”
POSIX mini-challenge — objectives 10
POSIX mini-challenge — documentation 11
– endpoint data/message transfer: broad/multi/unicast
POSIX mini-challenge — documentation 12
POSIX mini-challenge — documentation 13
POSIX mini-challenge — achievements 14
POSIX mini-challenge — choosing formalisms 15
POSIX mini-challenge — choosing formalisms 16
POSIX mini-challenge — conclusions 17
– injectivity: function and sequence updates – finiteness: sets and schema bindings – free types: injectivity of constructors – schema calculus: surgical expansion
POSIX mini-challenge — discussion: what now/next 18