Monadic and Comonadic Aspects of Dependency Analysis

09/13/2022
by   Pritam Choudhury, et al.
0

Dependency analysis is vital to several applications in computer science. It lies at the essence of secure information flow analysis, binding-time analysis, etc. Various calculi have been proposed in the literature for analysing individual dependencies. Abadi et. al., by extending Moggi's monadic metalanguage, unified several of these calculi into the Dependency Core Calculus (DCC). DCC has served as a foundational framework for dependency analysis for the last two decades. However, in spite of its success, DCC has its limitations. First, the monadic bind rule of the calculus is nonstandard and relies upon an auxiliary protection judgement. Second, being of a monadic nature, the calculus cannot capture dependency analyses that possess a comonadic nature, for example, the binding-time calculus, λ^∘, of Davies. In this paper, we address these limitations by designing an alternative dependency calculus that is inspired by standard ideas from category theory. Our calculus is both monadic and comonadic in nature and subsumes both DCC and λ^∘. Our construction explains the nonstandard bind rule and the protection judgement of DCC in terms of standard categorical concepts. It also leads to a novel technique for proving correctness of dependency analysis. We use this technique to present alternative proofs of correctness for DCC and λ^∘.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/06/2023

Unifying Linearity and Dependency Analyses

Linearity and dependency analyses are key to several applications in com...
research
01/26/2022

A Dependent Dependency Calculus (Extended Version)

Over twenty years ago, Abadi et al. established the Dependency Core Calc...
research
08/23/2020

Gentzen-Mints-Zucker duality

The Curry-Howard correspondence is often described as relating proofs (i...
research
02/28/2018

Reducing Lambda Terms with Traversals

We introduce a method to evaluate untyped lambda terms by combining the ...
research
07/22/2021

A Typed Slicing Compilation of the Polymorphic RPC Calculus

The polymorphic RPC calculus allows programmers to write succinct multit...
research
06/30/2021

Reasoning about conscious experience with axiomatic and graphical mathematics

We cast aspects of consciousness in axiomatic mathematical terms, using ...

Please sign up or login with your details

Forgot password? Click here to reset