Control-flow analysis of functional programs
J Midtgaard - ACM computing surveys (CSUR), 2012 - dl.acm.org
We present a survey of control-flow analysis of functional programs, which has been the
subject of extensive investigation throughout the past 30 years. Analyses of the control flow …
subject of extensive investigation throughout the past 30 years. Analyses of the control flow …
Type analysis for JavaScript
JavaScript is the main scripting language for Web browsers, and it is essential to modern
Web applications. Programmers have started using it for writing complex applications, but …
Web applications. Programmers have started using it for writing complex applications, but …
Abstracting abstract machines
We describe a derivational approach to abstract interpretation that yields novel and
transparently sound static analyses when applied to well-established abstract machines. To …
transparently sound static analyses when applied to well-established abstract machines. To …
Determinacy in static analysis for jQuery
E Andreasen, A Møller - Proceedings of the 2014 ACM International …, 2014 - dl.acm.org
Static analysis for JavaScript can potentially help programmers find errors early during
development. Although much progress has been made on analysis techniques, a major …
development. Although much progress has been made on analysis techniques, a major …
Design and implementation of sparse global analyses for C-like languages
In this article we present a general method for achieving global static analyzers that are
precise, sound, yet also scalable. Our method generalizes the sparse analysis techniques …
precise, sound, yet also scalable. Our method generalizes the sparse analysis techniques …
Combinator-Based Fixpoint Algorithms for Big-Step Abstract Interpreters
Big-step abstract interpreters are an approach to build static analyzers based on big-step
interpretation. While big-step interpretation provides a number of benefits for the definition of …
interpretation. While big-step interpretation provides a number of benefits for the definition of …
CFA2: A context-free approach to control-flow analysis
In a functional language, the dominant control-flow mechanism is function call and return.
Most higher-order flow analyses, including k-CFA, do not handle call and return well: they …
Most higher-order flow analyses, including k-CFA, do not handle call and return well: they …
Resolving and exploiting the k-CFA paradox: illuminating functional vs. object-oriented program analysis
Low-level program analysis is a fundamental problem, taking the shape of" flow analysis" in
functional languages and" points-to" analysis in imperative and object-oriented languages …
functional languages and" points-to" analysis in imperative and object-oriented languages …
Abstracting definitional interpreters (functional pearl)
In this functional pearl, we examine the use of definitional interpreters as a basis for abstract
interpretation of higher-order programming languages. As it turns out, definitional …
interpretation of higher-order programming languages. As it turns out, definitional …
EigenCFA: Accelerating flow analysis with GPUs
We describe, implement and benchmark EigenCFA, an algorithm for accelerating higher-
order control-flow analysis (specifically, 0CFA) with a GPU. Ultimately, our program …
order control-flow analysis (specifically, 0CFA) with a GPU. Ultimately, our program …