Folklore Confirmed

Larry Carter,Jeanne Ferrante,Clark Thomborson
DOI: https://doi.org/10.1145/640128.604141
2003-01-01
ACM SIGPLAN Notices
Abstract:Many program analysis techniques used by compilers are applicable only to programs whose control flow graphs are reducible . Node-splitting is a technique that can be used to convert any control flow graph to a reducible one. However, as has been observed for various node-splitting algorithms, there can be an exponential blowup in the size of the graph.We prove that exponential blowup is unavoidable. In particular, we show that any reducible graph that is equivalent to the complete graph on n nodes (or to related bounded-degree control flow graphs) must have at least 2 n-1 nodes. While this result is not a surprise, it may be relevant to the quest for finding methods of obfuscation for software protection.
What problem does this paper attempt to address?