Talk:Control-flow analysis

It Appears That Hecht Coined Control Flow Analysis in 1977
The article claims that the term Control Flow Analysis was coined by Olin Shivers Neil D. Jones in the 1980s. I don't think this is true because I have a book published in 1977 called "Flow Analysis of Computer Programs" and written by Matthew S. Hecht which defines Control Flow Analysis on page 4 as "... the encoding of pertinent, possible program 'control flow structure' or 'flow of control' for an ensuing data flow analysis." Danking00 (talk) 15:11, 7 July 2011 (UTC)
 * Indeed. Any compiler book has citation to papers before claimed as "firsts" in this article, although those guys may have coined the term... in their specific sub-field (see below). But wp:secondary sources should be used to ascertain such claims to priority in terminology, which isn't even that important compared to priority in the actual techniques. 188.27.81.64 (talk) 21:35, 20 July 2014 (UTC)
 * The CFA term is used for completely different analyses in the functional and imperative programming worlds. Which probably explains the massive confusion in this article, including as to who termed it. It's probably true that guys listed in the article "coined" the term in the functional programming analysis field, as in [re/mis]appropriated it for their use in functional programming... The PLDI10 paper, which I've added to the external links, sheds some light on the issue. The kind of CFA done in functional programming is called points-to analysis in the imperative/OOP world; it's only an issue there when function pointers are used (like dynamic dispatch). The run of the mill interprocedural CFA in imperative programming (i.e. with no function pointers involved) just revolved around creating a call graph (cf. Muchnick Advanced Compiler Design, p. 609) However "Procedure-valued variables present a more difficult problem. Weihl [Weih80] has shown that constructing the call graph of a recursive program with procedure variables is PSPACE-hard, so this process can be very expensive in both time and space." (Muchnick, p. 612) In general, anyone using NNH as reference needs to be highly aware that whatever they say in there (terminology too) is from their own little world of doing analysis on functional programs, which while may give some people successful academic careers, it's a very niche topic in the world of programming at large, so it shouldn't take over articles in Wikipedia with that perspective. Muchnick's book has 3K citation in GS (and 700+ in ACM) while NNH (published at about the same time) only has about half of those in either source, and it's impact outside academia is practically nil; it's also written in much more less approachable manner so it's easy for inexperienced readers to misinterpret stuff from NNH (which seems to have happened a lot in this article, as it is now).188.27.81.64 (talk) 23:43, 20 July 2014 (UTC)
 * Forgot to give the paper referenced there: Weihl, William E. Interprocedural Data Flow Analysis in the Presence of Pointers, Procedure Variables, and Label Variables, in [POPL80], pp. 83-94. 188.27.81.64 (talk) 00:43, 21 July 2014 (UTC)

Oh, and there's also F. E. ALLEN, Control flow analysis, SIGPLAN Notices, 5 (1970), pp. 1-19. which says that by then "control flow analysis has been embedded in many compilers and has been described in several papers." Even if that's the first use of the term, it's still not particularly important info. 188.27.81.64 (talk) 01:20, 21 July 2014 (UTC)

Rewrite needed
Also, this article consists mostly of irrelevancies. None of the core material that a compiler class would cover under this heading is even mentioned. See the external link I added for comparison, if a compiler book is too expensive for you... 188.27.81.64 (talk) 21:37, 20 July 2014 (UTC)

Besides, this article doesn't even try to distinguish when it's talking about intra-procedural vs. inter-procedural CFA and makes sweeping claims that absolutely don't apply to both. 188.27.81.64 (talk) 22:22, 20 July 2014 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Control flow analysis. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20140728203154/http://pages.cs.wisc.edu/~cs701-1/NOTES/3.CONTROL-FLOW-ANALYSIS.html to http://pages.cs.wisc.edu/~cs701-1/NOTES/3.CONTROL-FLOW-ANALYSIS.html

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 17:16, 12 August 2017 (UTC)