Is Dumping Core The “Right Thing?”
AIX has only 10% raw Abort failure rate -- on purpose
- Wish to avoid Abort failures in production code
- Ignores some NULL pointer reads by setting page 0 to read permission
- BUT -- 21% adjusted Abort failure rate; 12% Silent failure rate
-
FreeBSD has 20% raw Abort failure rate -- on purpose
- Intentionally aborts to flag bugs during development cycle
- 31% adjusted Abort failure rate; BUT -- 17% adjusted Silent failure rate
-
Future challenges:
- Flag defects during development
- Boundschecker-like systems need a workload to find problems
- And still tolerate robustness problems once system is fielded
- Truly Portable exception handling for POSIX API
- Perhaps wrappers to manage complexity of exception handling(e.g., Bell Labs XEPT work)