C++ templates are key to the design of current successful mainstream libraries and systems. They are the basis of programming techniques in diverse areas ranging from conventional...
Informally, an obfuscator O is an efficient, probabilistic “compiler” that transforms a program P into a new program O(P) with the same functionality as P, but such that O(P)...
Common programming practice grants excess authority for the sake of functionality; programming principles require least authority for the sake of security. If we practice our princ...
Hardware compilation techniques which use highlevel programming languages to describe and synthesize hardware are gaining popularity. They are especially useful for reconfigurable...
Local reasoning about programs exploits the natural local behaviour common in programs by focussing on the footprint - that part of the resource accessed by the program. We address...