Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Certified symbolic management of financial multi-party contracts

Published: 29 August 2015 Publication History

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.

References

[1]
DSLFin: Financial domain-specific language listing. http://www. dslfin.org/resources.html, 2013.
[2]
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.
[3]
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.
[4]
R. Atkey and C. McBride. Productive coprogramming with guarded recursion. In ICFP, pages 197–208, 2013.
[5]
R. Atkey, S. Lindley, and J. Yallop. Unembedding domain-specific languages. In ACM SIGPLAN Symposium on Haskell, pages 37–48, 2009.
[6]
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.
[7]
A. Chlipala. Certified Programming with Dependent Types. MIT Press, 2013.
[8]
R. Davies. A temporal-logic approach to binding-time analysis. In LICS, pages 184–195, 1996.
[9]
S. Frankau, D. Spinellis, N. Nassuphis, and C. Burgard. Commercial uses: Going functional on exotic trades. J. Funct. Program., 19(1): 27–45, 2009.
[10]
F. Haftmann. From higher-order logic to Haskell: There and back again. In PEPM, pages 155–158, 2010.
[11]
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.
[12]
J. Hull and A. White. CVA and wrong-way risk. Financ. Anal. J., 68 (5):58–69, 2012.
[13]
T. Hvitved. A survey of formal languages for contracts. In FLACOS, pages 29–32, 2010.
[14]
T. Hvitved. Contract Formalisation and Modular Implementation of Domain-Specific Languages. PhD thesis, Department of Computer Science, University of Copenhagen, 2011.
[15]
T. Hvitved, F. Klaedtke, and E. Zalinescu. A trace-based model for multiparty contracts. J. Log. Algebr. Program., 81(2):72–98, 2012.
[16]
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.
[17]
A. Jeffrey. LTL types FRP: Linear-time temporal logic propositions as types, proofs as functional reactive programs. In PLPV, pages 49–60, 2012.
[18]
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.
[19]
N. Krishnaswami and N. Benton. Ultrametric semantics of reactive programs. In LICS, pages 257–266, 2011.
[20]
M. Kyas, C. Prisacariu, and G. Schneider. Run-time monitoring of electronic contracts. In ATVA, pages 397–407, 2008.
[21]
R. M. Lee. A logic model for electronic contracting. Decis. Support Syst., 4(1):27–44, 1988.
[22]
X. Leroy. Formal certification of a compiler back-end, or: programming a compiler with a proof assistant. In POPL, pages 42–54, 2006.
[23]
P. Letouzey. Extraction in Coq: An overview. In Computability in Europe, volume 5028 of LNCS, pages 359–369, 2008.
[24]
LexiFi. Contract description language (MLFi). http://www. lexifi.com/technology/contract-description-language.
[25]
H. Nakano. A modality for recursion. In LICS, pages 255–266, 2000.
[26]
C. Oancea, J. Berthold, M. Elsman, and C. Andreetta. A financial benchmark for GPGPU compilation. In CPC, 2015.
[27]
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.
[28]
S. Peyton Jones, J.-M. Eber, and J. Seward. Composing contracts: an adventure in financial engineering (functional pearl). In ICFP, 2000.
[29]
S. Schuldenzucker. Decomposing contracts – a formalism for arbitrage argumentations. Master’s thesis, Rheinische Friedrich-Wilhelms-Universität Bonn, 2014.
[30]
SimCorp A/S. XpressInstruments solutions. Company white-paper. Available from http://simcorp.com, 2009.

Cited By

View all
  • (2023)A verifiable model of a minimal market operating sequentially, with price and time discreteJournal of Computer and Forensic Sciences10.5937/jcfs2-443622:1(7-17)Online publication date: 2023
  • (2021)Certifying Findel derivatives for blockchainJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2021.100665121(100665)Online publication date: Jun-2021
  • (2020)BML: A Data Mapping Language for Blockchain Platforms2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)10.1109/TrustCom50675.2020.00174(1297-1303)Online publication date: Dec-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 50, Issue 9
ICFP '15
September 2015
436 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2858949
  • Editor:
  • Andy Gill
Issue’s Table of Contents
  • cover image ACM Conferences
    ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming
    August 2015
    436 pages
    ISBN:9781450336697
    DOI:10.1145/2784731
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 August 2015
Published in SIGPLAN Volume 50, Issue 9

Check for updates

Author Tags

  1. Certified Code
  2. Coq
  3. Domain-Specific Language
  4. Financial Contracts
  5. Haskell
  6. Semantics
  7. Type System

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A verifiable model of a minimal market operating sequentially, with price and time discreteJournal of Computer and Forensic Sciences10.5937/jcfs2-443622:1(7-17)Online publication date: 2023
  • (2021)Certifying Findel derivatives for blockchainJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2021.100665121(100665)Online publication date: Jun-2021
  • (2020)BML: A Data Mapping Language for Blockchain Platforms2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)10.1109/TrustCom50675.2020.00174(1297-1303)Online publication date: Dec-2020
  • (2019)Design and Implementation of Financial Smart Contract Services on Blockchain2019 IEEE 10th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON)10.1109/IEMCON.2019.8936267(1023-1030)Online publication date: Oct-2019
  • (2018)Analyzing Financial Smart Contracts for Blockchain2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData)10.1109/Cybermatics_2018.2018.00284(1701-1706)Online publication date: Jul-2018
  • (undefined)Automated Execution of Financial Contracts on BlockchainsSSRN Electronic Journal10.2139/ssrn.2898670
  • (2024)Runtime Verification in Real-Time with the Copilot Language: A TutorialFormal Methods10.1007/978-3-031-71177-0_27(469-491)Online publication date: 13-Sep-2024
  • (2022)Programming Languages and Law: A Research AgendaProceedings of the 2022 Symposium on Computer Science and Law10.1145/3511265.3550447(155-165)Online publication date: 1-Nov-2022
  • (2022)Extracting functional programs from Coq, in CoqJournal of Functional Programming10.1017/S095679682200007732Online publication date: 22-Aug-2022
  • (2020)Formally Verified Trades in Financial MarketsFormal Methods and Software Engineering10.1007/978-3-030-63406-3_13(217-232)Online publication date: 19-Dec-2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media