English
Related papers

Related papers: Abstracting Definitional Interpreters

200 papers

The functional correspondence is a manual derivation technique transforming higher-order evaluators into the semantically equivalent abstract machines. The transformation consists of two well-known program transformations: translation to…

Programming Languages · Computer Science 2021-08-17 Maciej Buszka , Dariusz Biernacki

This paper describes a methodology for defining an executable abstract interpreter from a formal description of the semantics of a programming language. Our approach is based on Skeletal Semantics and an abstract interpretation of its…

Programming Languages · Computer Science 2023-09-15 Thomas Jensen , Vincent Rébiscoul , Alan Schmitt

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

We consider the problem of modularizing control flow in a generic abstract interpretation framework. A generic abstract interpretation framework is not truly flexible if it does not allow interpreting with different path- and…

Programming Languages · Computer Science 2026-02-19 Cade Lueker , Andrew Fox , Bor-Yuh Evan Chang

It was previously shown that control-flow refinement can be achieved by a program specializer incorporating property-based abstraction, to improve termination and complexity analysis tools. We now show that this purpose-built specializer…

Programming Languages · Computer Science 2020-08-10 John P. Gallagher , Robert Glück

In David Schmidt's PhD work he explored the use of denotational semantics as a programming language. It was part of an effort to not only treat formal semantics as specifications but also as interpreters and input to compiler generators.…

Programming Languages · Computer Science 2013-09-23 Mads Rosendahl

We explore denotational interpreters: denotational semantics that produce coinductive traces of a corresponding small-step operational semantics. By parameterising our denotational interpreter over the semantic domain and then varying it,…

Programming Languages · Computer Science 2024-07-15 Sebastian Graf , Simon Peyton Jones , Sven Keidel

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

Categorical semantics of type theories are often characterized as structure-preserving functors. This is because in category theory both the syntax and the domain of interpretation are uniformly treated as structured categories, so that we…

Programming Languages · Computer Science 2024-02-14 Shin-ya Katsumata , Xavier Rival , Jérémy Dubut

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

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection skirt just inside the boundaries of soundness and decidability. Alone, each method reduces analysis times and boosts precision by orders…

Programming Languages · Computer Science 2012-07-10 Christopher Earl , Ilya Sergey , Matthew Might , David Van Horn

To tackle interpretability in deep learning, we present a novel framework to jointly learn a predictive model and its associated interpretation model. The interpreter provides both local and global interpretability about the predictive…

Machine Learning · Computer Science 2022-02-24 Jayneel Parekh , Pavlo Mozharovskyi , Florence d'Alché-Buc

Interpretation methods and their restrictions to polynomials have been deeply used to control the termination and complexity of first-order term rewrite systems. This paper extends interpretation methods to a pure higher order functional…

Logic in Computer Science · Computer Science 2023-06-22 Emmanuel Hainry , Romain Péchoux

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

Developing suitable formal semantics can be of great help in the understanding, design and implementation of a programming language, and act as a guide for software development tools like analyzers or partial evaluators. In this sense, full…

Logic in Computer Science · Computer Science 2010-02-16 F. J. López-Fraguas , J. Rodríguez-Hortalá

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

Intrinsic definitional interpreters, definitional interpreters that operate on typing derivations instead of abstract syntax trees, have recently been studied as a promising methodology for defining dynamic semantics of programming…

Programming Languages · Computer Science 2026-05-06 Ke Sun , Di Wang , Yuyan Bao , Meng Wang , Dan Hao

Context: Reynolds showed us how to use continuation-passing style and defunctionalization to transform a recursive interpreter for a language into an abstract machine for programs in that language. The same techniques explain other…

Programming Languages · Computer Science 2021-11-23 Jeremy Gibbons

Machine-learning models have demonstrated great success in learning complex patterns that enable them to make predictions about unobserved data. In addition to using models for prediction, the ability to interpret what a model has learned…

Machine Learning · Statistics 2019-11-15 W. James Murdoch , Chandan Singh , Karl Kumbier , Reza Abbasi-Asl , Bin Yu

The traditional abstract domain framework for imperative programs suffers from several shortcomings; in particular it does not allow precise symbolic abstractions. To solve these problems, we propose a new abstract interpretation framework,…

Software Engineering · Computer Science 2018-01-01 Matthieu Lemerre , Sébastien Bardin
‹ Prev 1 2 3 10 Next ›