I found two interesting ideas in CACM, Vol.55, No.9.
1. DieHardMany C++ program's crash bugs are caused by small out of bound access. So, if a memory allocator gives a slightly large memory chunk, also randomize the heap allocation. Then many bugs become non-deterministic, Heisenberg bug.
This is a nightmare for developers who should fix this kind of bugs. Because, it is hard to catch the bug.
However, for some users, this might be better. If one just restarts the program, the crash may be gone if they are lucky.
You can find this idea entitled DieHard from Microsoft research. Although, I don't think randomly hiding bugs are analogy of Seat belts or Airbags. I found this idea interesting, but I prefer deterministic bugs as a developer. Also I prefer to fix the bugs rather than hiding them.
2. CriptDBI heard some methods that you can search encrypted data without decrypt it or search a compressed data without decompress it. I don't understand the details, but the basic idea is having a kind of data onto map function. For example, I have a database which contains English text. I encrypt this database by translating German. So if anyone who don't know German can not read the database. If I want to search a word ``mountain'', then ``mountain'' is encrypted as ``Berg'', the I search the word ``Berg''. The story is also not so simple, however, the basic idea seems like this.