English
Related papers

Related papers: Introspective Pushdown Analysis of Higher-Order Pr…

200 papers

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection push the boundaries of what we can learn about programs statically. This work illuminates and poses solutions to theoretical and practical…

Programming Languages · Computer Science 2014-06-20 J. Ian Johnson , Ilya Sergey , Christopher Earl , Matthew Might , David Van Horn

Two sinks drain precision from higher-order flow analyses: (1) merging of argument values upon procedure call and (2) merging of return values upon procedure return. To combat the loss of precision, these two sinks have been addressed…

Programming Languages · Computer Science 2011-11-10 Christopher Earl , Matthew Might , David Van Horn

The strength of a dynamic language is also its weakness: run-time flexibility comes at the cost of compile-time predictability. Many of the hallmarks of dynamic languages such as closures, continuations, various forms of reflection, and a…

Programming Languages · Computer Science 2014-08-18 J. Ian Johnson , David Van Horn

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

Static analysis of real-world programs combines flow- and context-sensitive analyses of local program states with computation of flow- and context-insensitive invariants at globals, that, e.g., abstract data shared by multiple threads. The…

Programming Languages · Computer Science 2025-04-09 Fabian Stemmler , Michael Schwarz , Julian Erhard , Sarah Tilscher , Helmut Seidl

Statically reasoning in the presence of and about exceptions is challenging: exceptions worsen the well-known mutual recursion between data-flow and control-flow analysis. The recent development of pushdown control-flow analysis for the…

Programming Languages · Computer Science 2013-02-13 Shuying Liang , Matthew Might , Thomas Gilray , David Van Horn

Statically reasoning in the presence of exceptions and about the effects of exceptions is challenging: exception-flows are mutually determined by traditional control-flow and points-to analyses. We tackle the challenge of analyzing…

Programming Languages · Computer Science 2016-11-18 Shuying Liang , Weibin Sun , Matthew Might , Andy Keep , David Van Horn

Higher-order pushdown systems (PDSs) generalise pushdown systems through the use of higher-order stacks, that is, a nested "stack of stacks" structure. These systems may be used to model higher-order programs and are closely related to the…

Computational Complexity · Computer Science 2015-07-01 Matthew Hague , C. -H. Luke Ong

Context-free approaches to static analysis gain precision over classical approaches by perfectly matching returns to call sites---a property that eliminates spurious interprocedural paths. Vardoulakis and Shivers's recent formulation of…

Programming Languages · Computer Science 2010-07-27 Christopher Earl , Matthew Might , David Van Horn

We design a family of program analyses for JavaScript that make no approximation in matching calls with returns, exceptions with handlers, and breaks with labels. We do so by starting from an established reduction semantics for JavaScript…

Programming Languages · Computer Science 2011-12-21 David Van Horn , Matthew Might

Reachability analysis, in general, is a fundamental method that supports formally-correct synthesis, robust model predictive control, set-based observers, fault detection, invariant computation, and conformance checking, to name but a few.…

Systems and Control · Electrical Eng. & Systems 2020-11-17 Niklas Kochdumper , Bastian Schürmann , Matthias Althoff

Multi-stack pushdown systems are a well-studied model of concurrent computation using threads with first-order procedure calls. While, in general, reachability is undecidable, there are numerous restrictions on stack behaviour that lead to…

Formal Languages and Automata Theory · Computer Science 2013-10-11 Matthew Hague

Pushdown systems (PDSs) are a natural model for sequential programs, but they can fail to accurately represent the way an assembly stack actually operates. Indeed, one may want to access the part of the memory that is below the current…

Formal Languages and Automata Theory · Computer Science 2018-11-08 Adrien Pommellet , Marcio Diaz , Tayssir Touili

In this paper, we study the program-point reachability problem of concurrent pushdown systems that communicate via unbounded and unordered message buffers. Our goal is to relax the common restriction that messages can only be retrieved by a…

Logic in Computer Science · Computer Science 2014-01-27 Jonathan Kochems , C-H Luke Ong

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 interpreters, especially those written in monadic style,…

Programming Languages · Computer Science 2017-07-18 David Darais , Nicholas Labich , Phuc C. Nguyen , David Van Horn

Iterative imperative programs can be considered as infinite-state systems computing over possibly unbounded domains. Studying reachability in these systems is challenging as it requires to deal with an infinite number of states with…

Logic in Computer Science · Computer Science 2013-02-15 Arnaud Gotlieb , Tristan Denmat , Nadjib Lazaar

Alternation of forward and backward analyses is a standard technique in abstract interpretation of programs, which is in particular useful when we wish to prove unreachability of some undesired program states. The current state-of-the-art…

Programming Languages · Computer Science 2017-08-08 Alexey Bakhirkin , David Monniaux

This paper is about reachability analysis in a restricted subclass of multi-pushdown automata. We assume that the control states of an automaton are partially ordered, and all transitions of an automaton go downwards with respect to the…

Logic in Computer Science · Computer Science 2015-07-01 Wojciech Czerwiński , Piotr Hofman , SŁawomir Lasota

Traditional control-flow analysis (CFA) for higher-order languages, whether implemented by constraint-solving or abstract interpretation, introduces spurious connections between callers and callees. Two distinct invocations of a function…

Programming Languages · Computer Science 2016-03-23 Thomas Gilray , Steven Lyde , Michael D. Adams , Matthew Might , David Van Horn

Reachability problems in infinite-state systems are often subject to extremely high complexity. This motivates the investigation of efficient overapproximations, where we add transitions to obtain a system in which reachability can be…

Formal Languages and Automata Theory · Computer Science 2022-06-28 Moses Ganardi , Rupak Majumdar , Georg Zetzsche
‹ Prev 1 2 3 10 Next ›