Experience Report: Prototyping a Query Compiler Using Coq

J. Auerbach, M. Hirzel, L. Mandel, A. Shinnar, J. Simeon

ICFP 2017


Designing and prototyping new features is important in many industrial projects. Functional programming and formal verification tools can prove valuable for that purpose, but lead to challenges when integrating with existing product code or when planning technology transfer.

This article reports on our experience using the Coq proof assistant as a prototyping environment for building a query compiler intended for use in IBM's ODM Insights product. We discuss the pros and cons of using Coq for this purpose and describe our methodology for porting the compiler to Java, as required for product integration.

Resources