DeepAI AI Chat
Log In Sign Up

Monadic and Comonadic Aspects of Dependency Analysis

by   Pritam Choudhury, et al.

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 λ^∘.


page 1

page 2

page 3

page 4


A Dependent Dependency Calculus (Extended Version)

Over twenty years ago, Abadi et al. established the Dependency Core Calc...

Gentzen-Mints-Zucker duality

The Curry-Howard correspondence is often described as relating proofs (i...

Reducing Lambda Terms with Traversals

We introduce a method to evaluate untyped lambda terms by combining the ...

A Typed Slicing Compilation of the Polymorphic RPC Calculus

The polymorphic RPC calculus allows programmers to write succinct multit...

Generating theorem proving procedures from axioms of Truncated Predicate Calculus

We present a novel approach to the problem of automated theorem proving....

The differential calculus of causal functions

Causal functions of sequences occur throughout computer science, from th...