Abstract
Domain-specific languages (DSLs) for complex financial contracts are in practical use in many banks and financial institutions today. Given the level of automation and pervasiveness of software in the sector, the financial domain is immensely sensitive to software bugs. At the same time, there is an increasing need to analyse (and report on) the interaction between multiple parties. In this paper, we present a multi-party contract language that rigorously relegates any artefacts of simulation and computation from its core, which leads to favourable algebraic properties, and therefore allows for formalising domain-specific analyses and transformations using a proof assistant. At the centre of our formalisation is a simple denotational semantics independent of any stochastic aspects. Based on this semantics, we devise certified contract analyses and transformations. In particular, we give a type system, with an accompanying type inference procedure, that statically ensures that contracts follow the principle of causality. Moreover, we devise a reduction semantics that allows us to evolve contracts over time, in accordance with the denotational semantics. From the verified Coq definitions, we automatically extract a Haskell implementation of an embedded contract DSL along with the formally verified contract management functionality. This approach opens a road map towards more reliable contract management software, including the possibility of analysing contracts based on symbolic instead of numeric methods.
- DSLFin: Financial domain-specific language listing. http://www. dslfin.org/resources.html, 2013.Google Scholar
- J. Andersen, E. Elsborg, F. Henglein, J. G. Simonsen, and C. Stefansen. Compositional specification of commercial contracts. Int. J. Softw. Tools Technol. Transf., 8(6):485–516, 2006. Google Scholar
Digital Library
- B. Arnold, A. Van Deursen, and M. Res. An algebraic specification of a language for describing financial products. In ICSE-17 Workshop on Formal Methods Application in Software Engineering, pages 6–13, 1995.Google Scholar
- R. Atkey and C. McBride. Productive coprogramming with guarded recursion. In ICFP, pages 197–208, 2013. Google Scholar
Digital Library
- R. Atkey, S. Lindley, and J. Yallop. Unembedding domain-specific languages. In ACM SIGPLAN Symposium on Haskell, pages 37–48, 2009. Google Scholar
Digital Library
- J. Berthold, A. Filinski, F. Henglein, K. Larsen, M. Steffensen, and B. Vinter. Functional High Performance Financial IT – The HIPERFIT Research Center in Copenhagen. In TFP’11 – Revised Selected Papers, 2012. Google Scholar
Digital Library
- A. Chlipala. Certified Programming with Dependent Types. MIT Press, 2013. Google Scholar
Digital Library
- R. Davies. A temporal-logic approach to binding-time analysis. In LICS, pages 184–195, 1996. Google Scholar
Digital Library
- S. Frankau, D. Spinellis, N. Nassuphis, and C. Burgard. Commercial uses: Going functional on exotic trades. J. Funct. Program., 19(1): 27–45, 2009. Google Scholar
Digital Library
- F. Haftmann. From higher-order logic to Haskell: There and back again. In PEPM, pages 155–158, 2010. Google Scholar
Digital Library
- F. Henglein, K. F. Larsen, J. G. Simonsen, and C. Stefansen. POETS: Process-oriented event-driven transaction systems. J. Log. Algebr. Program., 78(5):381 – 401, 2009.Google Scholar
Cross Ref
- J. Hull and A. White. CVA and wrong-way risk. Financ. Anal. J., 68 (5):58–69, 2012.Google Scholar
Cross Ref
- T. Hvitved. A survey of formal languages for contracts. In FLACOS, pages 29–32, 2010.Google Scholar
- T. Hvitved. Contract Formalisation and Modular Implementation of Domain-Specific Languages. PhD thesis, Department of Computer Science, University of Copenhagen, 2011.Google Scholar
- T. Hvitved, F. Klaedtke, and E. Zalinescu. A trace-based model for multiparty contracts. J. Log. Algebr. Program., 81(2):72–98, 2012.Google Scholar
Cross Ref
- D. A. Ignatovich and G. O. Passmore. Creating safe and fair markets. White Paper AI/1501, Aesthetic Integration, Apr. 2015. URL http: //www.aestheticintegration.com/files/ai-wp1501.pdf.Google Scholar
- A. Jeffrey. LTL types FRP: Linear-time temporal logic propositions as types, proofs as functional reactive programs. In PLPV, pages 49–60, 2012. Google Scholar
Digital Library
- G. Klein, J. Andronick, K. Elphinstone, T. Murray, T. Sewell, R. Kolanski, and G. Heiser. Comprehensive formal verification of an OS microkernel. ACM T. Comput. Syst., 32(1):2:1–2:70, 2014. Google Scholar
Digital Library
- N. Krishnaswami and N. Benton. Ultrametric semantics of reactive programs. In LICS, pages 257–266, 2011. Google Scholar
Digital Library
- M. Kyas, C. Prisacariu, and G. Schneider. Run-time monitoring of electronic contracts. In ATVA, pages 397–407, 2008. Google Scholar
Digital Library
- R. M. Lee. A logic model for electronic contracting. Decis. Support Syst., 4(1):27–44, 1988. Google Scholar
Digital Library
- X. Leroy. Formal certification of a compiler back-end, or: programming a compiler with a proof assistant. In POPL, pages 42–54, 2006. Google Scholar
Digital Library
- P. Letouzey. Extraction in Coq: An overview. In Computability in Europe, volume 5028 of LNCS, pages 359–369, 2008. Google Scholar
Digital Library
- LexiFi. Contract description language (MLFi). http://www. lexifi.com/technology/contract-description-language.Google Scholar
- H. Nakano. A modality for recursion. In LICS, pages 255–266, 2000. Google Scholar
Digital Library
- C. Oancea, J. Berthold, M. Elsman, and C. Andreetta. A financial benchmark for GPGPU compilation. In CPC, 2015.Google Scholar
- S. Peyton Jones and J.-M. Eber. How to write a financial contract. In J. Gibbons and O. de Moor, editors, The Fun of Programming. Palgrave Macmillan, 2003.Google Scholar
Cross Ref
- S. Peyton Jones, J.-M. Eber, and J. Seward. Composing contracts: an adventure in financial engineering (functional pearl). In ICFP, 2000. Google Scholar
Digital Library
- S. Schuldenzucker. Decomposing contracts – a formalism for arbitrage argumentations. Master’s thesis, Rheinische Friedrich-Wilhelms-Universität Bonn, 2014.Google Scholar
- SimCorp A/S. XpressInstruments solutions. Company white-paper. Available from http://simcorp.com, 2009.Google Scholar
Index Terms
Certified symbolic management of financial multi-party contracts
Recommendations
Certified symbolic management of financial multi-party contracts
ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional ProgrammingDomain-specific languages (DSLs) for complex financial contracts are in practical use in many banks and financial institutions today. Given the level of automation and pervasiveness of software in the sector, the financial domain is immensely sensitive ...
Certified Compilation of Financial Contracts
PPDP '18: Proceedings of the 20th International Symposium on Principles and Practice of Declarative ProgrammingWe present an extension to a certified financial contract management system that allows for templated declarative financial contracts and for integration with financial stochastic models through verified compilation into so-called payoff-expressions. ...
Modular, compositional, and executable formal semantics for LLVM IR
This paper presents a novel formal semantics, mechanized in Coq, for a large, sequential subset of the LLVM IR. In contrast to previous approaches, which use relationally-specified operational semantics, this new semantics is based on monadic ...






Comments