I think malloc implementations that zero memory should be required to switch to 0xa110ca7ed0 instead. Imagine a debugging session where you wonder, "is this memory allocated?" and then you type "x 5" and you get "a1 10 ca 7e d0". "Yes," you will be able to reply to yourself, "it is allocated."
The following paper may be of interest, it takes this idea considerably further:<p>"Specifically, we demonstrate a technique for automatically producing English Shellcode, transforming arbitrary shell- code into a representation that is superficially similar to English prose."<p><a href="http://www.cs.jhu.edu/~sam/ccs243-mason.pdf" rel="nofollow">http://www.cs.jhu.edu/~sam/ccs243-mason.pdf</a>
Another simple approach seen in many places (e.g. Nucleus OS) is using ASCII characters. That way, you get a unique identifier and as you get quicker at recognising them, you also get to immediately ASCII character values in hex, which is great for e.g. looking at coredumps..<p><pre><code> >>> 'SEMA'.encode('hex')
'53454d41'</code></pre>
Very incomplete list. His algorithm skips multiple permutations of the same word.<p>Doesn't even have popular ones like d34d, c4f3, b33f, and <i>believe it or not</i> 1337!