Using Coq in specification and program extraction of hadoop mapreduce applications

作者: Kosuke Ono , Yoichi Hirai , Yoshinori Tanabe , Natsuko Noda , Masami Hagiya

DOI: 10.1007/978-3-642-24690-6_24

关键词:

摘要: Hadoop MapReduce is a framework for distributed computation on key-value pairs. The goal of this research to verify actual running code applications. We first constructed an abstract model with the proof assistant Coq. In model, mappers and reducers in are modeled as functions Coq, specification application expressed terms invariants among involving its mapper reducer. also provides modular proofs lemmas that do not depend To achieve goal, we investigated feasibility two approaches. one approach, transformed verified reducer into Haskell programs executed them under Streaming. other JML annotations Java using Krakatoa, translated Coq axioms, proved specifications from them. either were able correctness applications actually run framework.

参考文章(17)
Jacek Chrząszcz, Implementing modules in the Coq system theorem proving in higher order logics. pp. 270- 286 ,(2003) , 10.1007/10930755_18
Leonardo de Moura, Nikolaj Bjørner, Z3: an efficient SMT solver tools and algorithms for construction and analysis of systems. pp. 337- 340 ,(2008) , 10.1007/978-3-540-78800-3_24
Yves Bertot, Pierre Casteran, Interactive Theorem Proving and Program Development ,(2004)
Rajeev Alur, Kousha Etessami, P. Madhusudan, A Temporal Logic of Nested Calls and Returns tools and algorithms for construction and analysis of systems. ,vol. 2988, pp. 467- 481 ,(2004) , 10.1007/978-3-540-24730-2_35
David Aspinall, Jaroslav Ševčík, Formalising java's data race free guarantee theorem proving in higher order logics. pp. 22- 37 ,(2007) , 10.1007/978-3-540-74591-4_4
Ralf Lämmel, Google's MapReduce programming model — Revisited Science of Computer Programming. ,vol. 68, pp. 208- 237 ,(2007) , 10.1016/J.SCICO.2007.07.001
Jens Dörre, Sven Apel, Christian Lengauer, Static type checking of Hadoop MapReduce programs Proceedings of the second international workshop on MapReduce and its applications - MapReduce '11. pp. 17- 24 ,(2011) , 10.1145/1996092.1996096
C. Marché, C. Paulin-Mohring, X. Urbain, The KRAKATOA tool for certificationof JAVA/JAVACARD programs annotated in JML The Journal of Logic and Algebraic Programming. ,vol. 58, pp. 89- 106 ,(2004) , 10.1016/J.JLAP.2003.07.006
David Detlefs, Greg Nelson, James B. Saxe, Simplify: a theorem prover for program checking Journal of the ACM. ,vol. 52, pp. 365- 473 ,(2005) , 10.1145/1066100.1066102