Topic: debugging techniques
Topic: dynamic type checking
Topic: consistency testing
Topic: database security
Topic: defensive programming
Topic: error safe systems
Topic: file system reliability
Topic: information as a hint
Topic: object-oriented classes
Topic: object-oriented objects
Topic: preventing accidental errors
Topic: type reflection and introspection
Subtopic: reliability
Quote: self-identifying data structures help protect against hardware and data failures
Subtopic: self-identifying files and pages
Quote: use self-identifying file pages for reconstructing directories and allocation maps by scavenging [»redeDD2_1980, OK]
Quote: Pilot has self-identifying file pages; scavenger builds maps for incremental updating of allocation information [»redeDD2_1980]
Quote: make free disk pages self-identifying members of a hypothetical file; for reconstructing allocation map [»redeDD2_1980]
Quote: disk file headers allow directories to be recreated [»freeP_1976]
Quote: rebuilding reads all the labels, gets full names for all files, gets free pages, checks directories; takes 30 seconds [»lampBW4_1974]
Quote: each file exists independently; page -1 is a leader page giving its protection, creation date, access data, string name, guardian and owner [»lampBW4_1974]
Quote: for Alto and Pilot, a file's leader page defined the file's directory and string name; the actual directory entry was just a hint [»lampBW10_1983]
Quote: every sector of Lisa's disk-storage includes 24 bytes of identification; can reconstruct files [»stewG3_1983]
Quote: the bit table for free disk pages is a hint, verified against the label of the free page [»lampBW10_1983]
Quote: each file has a leader page that contains file name information, unique id, and run table header [»hagmR_1987, OK]
Quote: leader pages for files not as robust as headers and sector labels; bugs no longer detected when they occur; can damage file system [»hagmR_1987]
Quote: a page consists of absolutes (file id, version number, page number) and hints (for efficiency, verified, reconstructible) [»lampBW4_1974]
Quote: a page's label (file id etc) is always checked before writing; only written when freed or defined [»lampBW4_1974]
Subtopic: uniform arrays
Quote: APL's arrays impose a uniform type; e.g., the type of A and B in A+B is array of real or array of integer; not true in LISP [»atkiMP6_1987]
Subtopic: avoid run-time type inquiry
Quote: a switch statement that uses run-time type inquires destroys the modularity of a program; it is error-prone and not object-oriented [»stroB_1991]
Subtopic: explicit typing
Quote: all CLR objects include exact, runtime type information; e.g., distinguishes List from List