Code Obfuscation is a program transformation for the purpose of increasing the difficulty of program understanding. It is a useful method to guarantee the security in mobile agent and protect the program from reverse engineering. At present, the interests on code obfuscation focus on two major aspects: the construction of code obfuscation algorithm and the proof of its efficiency. Although the construction of code obfuscation algorithm grows more mature, the proof of its efficiency is still blank in the formal semantic foundation. Meanwhile, many researches have shown the limitation of code obfuscation as a security method, which put the application of code obfuscation into doubt. Therefore, how to measure and prove the efficiency of code obfuscation is an important problem. The contribution of this paper is to present a new formal framework for proving the efficiency of code obfuscation algorithm. Based on abstract interpretation framework, we construct the comparable code obfuscation framework, which can formally prove its efficiency under the limited environment of static analysis and compare the efficiency among code obfuscation algorithms.
probabilistic abstract interpretation; program transformation; program analysis; code obfuscation