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, $\lambda^{\circ}$, 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 $\lambda^{\circ}$. 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 $\lambda^{\circ}$.
翻译:依赖性分析对于计算机科学的若干应用至关重要。 依赖性分析是计算机科学中若干应用的关键。 它在于安全的信息流分析、约束性时间分析等的本质。 文献中提出了用于分析个人依赖性的各种计算法。 Abadi 等人,通过将Moggi的月经代言语统一起来,将若干这些计算法作为依赖性分析的基础框架,成为过去二十年中依赖性分析的基础框架。 然而,DCC尽管取得了成功,但也有其局限性。 首先,计算法的修饰性约束性规则是非标准性的,依赖于辅助性保护判断。 其次,通过将Moggi的月经代代代言语的代言语的代言语化,Abdminciality分析无法捕捉到具有共性的依赖性分析,例如,Cdavies的束缚性计算法, $lambda 。 在本文中,我们通过设计一种替代的依赖性校正校准性校正的校正性校正性校正法,我们的计算法性 和DC的校正性解释性解释性,在性质和Cn crudeal 。