首页> 外文会议>Software engineering and formal methods >Using Coq in Specification and Program Extraction of Hadoop MapReduce Applications
【24h】

Using Coq in Specification and Program Extraction of Hadoop MapReduce Applications

机译:在Hadoop MapReduce应用程序的规范和程序提取中使用Coq

获取原文
获取原文并翻译 | 示例

摘要

Hadoop MapReduce is a framework for distributed computation on key-value pairs. The goal of this research is to verify actual running code of MapReduce applications. We first constructed an abstract model of MapReduce computation with the proof assistant Coq. In the model, mappers and reducers in MapReduce computation are modeled as functions in Coq, and a specification of a MapReduce application is expressed in terms of invariants among functions involving its mapper and reducer. The model also provides modular proofs of lemmas that do not depend on applications. To achieve the goal, we investigated the feasibility of two approaches. In one approach, we transformed verified mapper and reducer functions into Haskell programs and executed them under Hadoop Streaming. In the other approach, we verified JML annotations on Java programs of the mapper and reducer using Krakatoa, translated them into Coq axioms, and proved Coq specifications from them. In either approach, we were able to verify correctness of MapReduce applications that actually run on the Hadoop MapReduce framework.
机译:Hadoop MapReduce是用于键-值对的分布式计算的框架。本研究的目的是验证MapReduce应用程序的实际运行代码。我们首先使用证明助手Coq构建了MapReduce计算的抽象模型。在该模型中,将MapReduce计算中的映射器和归约器建模为Coq中的函数,并根据涉及其映射器和归约器的函数之间的不变性来表示MapReduce应用程序的规范。该模型还提供了不依赖于应用程序的引理的模块化证明。为了实现这一目标,我们研究了两种方法的可行性。在一种方法中,我们将经过验证的映射器和化简器功能转换为Haskell程序,并在Hadoop Streaming下执行它们。在另一种方法中,我们使用Krakatoa在映射器和化简器的Java程序上验证了JML批注,将它们转换为Coq公理,并从中证明了Coq规范。无论采用哪种方法,我们都可以验证在Hadoop MapReduce框架上实际运行的MapReduce应用程序的正确性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号