Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Anvay Grover

dblp:305/0659 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
3since 2021 · last 2024
0009-0003-4820-3560ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 1 first-author · 3 since 2021Theory of computation · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 52% Compilers and program optimization · 24% Program synthesis and code generation · 18%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language semantics
formal semantics
0.812024
Synthesizing Formal Semantics from Executable Interpreters · Proc. ACM Program. Lang. 2024
Programming languages and type systems › language semantics › formal semantics
operational semantics
0.812024
Synthesizing Formal Semantics from Executable Interpreters · Proc. ACM Program. Lang. 2024
Program synthesis and code generation
syntax-guided synthesis
0.812024
Synthesizing Formal Semantics from Executable Interpreters · Proc. ACM Program. Lang. 2024
Compilers and program optimization
compiler correctness
0.512021
Compiling with continuations, correctly · Proc. ACM Program. Lang. 2021
Compilers and program optimization › program transformation › source-to-source transformation
CPS translation
0.512021
Compiling with continuations, correctly · Proc. ACM Program. Lang. 2021
Programming languages and type systems
language semantics
0.512021
Compiling with continuations, correctly · Proc. ACM Program. Lang. 2021
Program verification › constraint-based verification
constrained horn clauses
0.212024
Synthesizing Formal Semantics from Executable Interpreters · Proc. ACM Program. Lang. 2024
Programming languages and type systems
logical relations
0.112021
Compiling with continuations, correctly · Proc. ACM Program. Lang. 2021

Methods — techniques the papers use, named apart from their topics

counterexample-guided inductive synthesis · 0.8constrained horn clauses · 0.8step-indexed semantics · 0.5logical relations · 0.5coq mechanization · 0.5
YearPublicationVenuePosition
2024 Synthesizing Formal Semantics from Executable Interpreters
abstract
Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be a daunting and error-prone task, this requirement stands in the way of such frameworks being adopted by non-expert users. We present an algorithm that can automatically synthesize inductively defined syntax-directed semantics when given ( i ) a grammar describing the syntax of a language and ( ii ) an executable (closed-box) interpreter for computing the semantics of programs in the language of the grammar. Our algorithm synthesizes the semantics in the form of Constrained-Horn Clauses (CHCs), a natural, extensible, and formal logical framework for specifying inductively defined relations that has recently received widespread adoption in program verification and synthesis. The key innovation of our synthesis algorithm is a Counterexample-Guided Synthesis (CEGIS) approach that breaks the hard problem of synthesizing a set of constrained Horn clauses into small, tractable expression-synthesis problems that can be dispatched to existing SyGuS synthesizers. Our tool SynAntic synthesized inductively-defined formal semantics from 14 interpreters for languages used in program-synthesis applications. When synthesizing formal semantics for one of our benchmarks, Synantic unveiled an inconsistency in the semantics computed by the interpreter for a language of regular expressions; fixing the inconsistency resulted in a more efficient semantics and, for some cases, in a 1.2 x speedup for a synthesizer solving synthesis problems over such a language.
Jiangyi Liu, Charlie Murphy, Anvay Grover, Keith J. C. Johnson, Thomas W. Reps, Loris D'Antoni
Proc. ACM Program. Lang.3
2022 Synthesizing Transducers from Complex Specifications
Anvay Grover, Rüdiger Ehlers, Loris D'Antoni
FMCAD1
2021 Compiling with continuations, correctly
abstract
In this paper we present a novel simulation relation for proving correctness of program transformations that combines syntactic simulations and logical relations. In particular, we establish a new kind of simulation diagram that uses a small-step or big-step semantics in the source language and an untyped, step-indexed logical relation in the target language. Our technique provides a practical solution for proving semantics preservation for transformations that do not preserve reductions in the source language. This is common when transformations generate new binder names, and hence α-conversion must be explicitly accounted for, or when transformations introduce administrative redexes. Our technique does not require reductions in the source language to correspond directly to reductions in the target language. Instead, we enforce a weaker notion of semantic preorder, which suffices to show that semantics are preserved for both whole-program and separate compilation. Because our logical relation is transitive, we can transition between intermediate program states in a small-step fashion and hence the shape of the proof resembles that of a simple small-step simulation. We use this technique to revisit the semantic correctness of a continuation-passing style (CPS) transformation and we demonstrate how it allows us to overcome well-known complications of this proof related to α-conversion and administrative reductions. In addition, by using a logical relation that is indexed by invariants that relate the resource consumption of two programs, we are able show that the transformation preserves diverging behaviors and that our CPS transformation asymptotically preserves the running time of the source program. Our results are formalized in the Coq proof assistant. Our continuation-passing style transformation is part of the CertiCoq compiler for Gallina, the specification language of Coq.
Zoe Paraskevopoulou, Anvay Grover
Proc. ACM Program. Lang.2