Software obfuscation is a promising approach for protection of intellectual property rights of software in untrusted environments. Unfortunately most of previous obfuscation techniques do not have a theoretical basis and thus it is unclear how effective they are. Therefore in this paper we propose new software obfuscation techniques, which are based on the difficulty of interprocedural analysis...