Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.misty.com!news.iecc.com!.POSTED!nerds-end From: Mark Newsgroups: comp.compilers Subject: An Algebra for Control Flow Analysis and Decompilation Date: Mon, 16 Jul 2012 18:00:33 -0700 (PDT) Organization: Compilers Central Lines: 26 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-07-015@comp.compilers> References: <09-01-026@comp.compilers: NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: leila.iecc.com 1342493883 67554 64.57.183.58 (17 Jul 2012 02:58:03 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Tue, 17 Jul 2012 02:58:03 +0000 (UTC) Keywords: theory, analysis Posted-Date: 16 Jul 2012 22:58:03 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:715 This is a follow-up to an article I posted here (2009 Jan 12) titled "The Magic Algebra -- The Algebraic Approach to Control Flow Analysis". http://compilers.iecc.com/comparch/article/09-01-026 I put a PDF version (with a few minor updates and corrections) on DocStoc under "An Algebra for Control Flow Analysis" http://www.docstoc.com/docs/124399972/An-Algebra-for-Control-Flow-Analysis A few notes of commentary following up on the earlier discussion: the analysis this discusses was originally carried out as part of a project (a "legacy code rescue") I was carrying out in 2000. The key part of the process was the DE-compilation from binary into high-level language code. A critical ingredient in this process just happens to be the same that appears in any translation process: the control flow analysis of the objects in the program and their usage. The algebra is derived from first principles through an infinitary form of the lambda calculus and leads to some non-trivial and even counter-intuitive identities and relations. (The company, itself, went defunct in 2011, apparently a victim of a hostile takeover, but was resurrected later in 2011)