skip to main content
10.1145/3550355.3552449acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Model-checking legal contracts with SymboleoPC

Published: 24 October 2022 Publication History

Abstract

Legal contracts specify requirements for business transactions. As any other requirements specification, contracts may contain errors and violate properties expected by contracting parties. Symboleo was recently proposed as a formal specification language for legal contracts. This paper presents SymboleoPC, a tool for analyzing Symboleo contracts using model checking. It highlights the architecture, implementation and testing of the tool, as well as a scalability evaluation with respect to the size of contracts and properties to be checked through a series of experiments. The results suggest that SymboleoPC can be usefully applied to the analysis of formal specifications of contracts with real-life sizes and structures.

References

[1]
Karl Aberer, Manfred Hauswirth, and Aí Salehi. 2006. Middleware support for the "Internet of Things". In 5th GI/ITG KuVS Fachgespräch "Drahtlose Sensornetze". Universität Stuttgart, Germany, 15--20. https://elib.uni-stuttgart.de/bitstream/11682/2604/1/TR_2006_07.pdf
[2]
Marco Alberti, Federico Chesani, Marco Gavanelli, Evelina Lamma, Paola Mello, Marco Montali, and Paolo Torroni. 2008. Expressing and verifying business contracts with abductive logic programming. International Journal of Electronic Commerce 12, 4 (2008), 9--38.
[3]
Alireza Parvizimosaid. 2022. Supplementary online material. https://bit.ly/MODELS22 See also https://github.com/Smart-Contract-Modelling-uOttawa/Symboleo-Compliance-Checker.
[4]
Sarra M. Alqahtani, Xinchi He, Rose F. Gamble, and Mauricio Papa. 2020. Formal Verification of Functional Requirements for Smart Contract Compositions in Supply Chain Management Systems. In 53rd Hawaii International Conference on System Sciences, HICSS 2020. 1--10.
[5]
Pedro Antonino and A. W. Roscoe. 2020. Formalising and verifying smart contracts with Solidifier: a bounded model checker for Solidity. CoRR abs/2002.02710 (2020), 24 pages. arXiv:2002.02710 https://arxiv.org/abs/2002.02710
[6]
Clark W. Barrett, Roberto Sebastiani, Sanjit A. Seshia, and Cesare Tinelli. 2009. Satisfiability Modulo Theories. In Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, Vol. 185. IOS Press, 825--885.
[7]
Roberto Cavada, Alessandro Cimatti, Michele Dorigatti, Alberto Griggio, Alessandro Mariotti, Andrea Micheli, Sergio Mover, Marco Roveri, and Stefano Tonetta. 2014. The nuXmv Symbolic Model Checker. In Computer Aided Verification. Springer, Cham, 334--342.
[8]
Roberto Cavada, Alessandro Cimatti, Andrea Micheli, Marco Roveri, Angelo Susi, and Stefano Tonetta. 2011. OthelloPlay: a plug-in based tool for requirement formalization and validation. In TOPI@ICSE. ACM, 59.
[9]
Federico Chesani, Paola Mello, Marco Montali, and Paolo Torroni. 2013. Representing and monitoring social commitments using the event calculus. Autonomous Agents and Multi-Agent Systems 27, 1 (2013), 85--130.
[10]
Alessandro Cimatti, Edmund Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. 2002. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In Computer Aided Verification. Springer Berlin Heidelberg, 359--364.
[11]
Alessandro Cimatti, Marco Roveri, Angelo Susi, and Stefano Tonetta. 2012. Validation of requirements for hybrid systems: A formal approach. ACM Trans. Softw. Eng. Methodol. 21, 4 (2012), 22:1--22:34.
[12]
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 2001. Model checking. MIT Press. http://books.google.de/books?id=Nmc4wEaLXFEC
[13]
Aspassia-Kaliopi Daskalopulu. 1999. Logic-based tools for the analysis and representation of legal contracts. Ph. D. Dissertation. Imperial College London, UK.
[14]
Matthew B. Dwyer, George S. Avrunin, and James C. Corbett. 1999. Patterns in Property Specifications for Finite-State Verification. In 1999 International Conference on Software Engineering, ICSE'99. ACM, 411--420.
[15]
E. Allen Emerson and Edmund M. Clarke. 1982. Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons. Sci. Comput. Program. 2, 3 (1982), 241--266.
[16]
Maria Fox and Derek Long. 2003. PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains. J. Artif. Intell. Res. 20 (2003), 61--124.
[17]
Joel Frank, Cornelius Aschermann, and Thorsten Holz. 2020. ETHBMC: A Bounded Model Checker for Smart Contracts. In 29th USENIX Security Symposium. USENIX Association, 2757--2774. https://www.usenix.org/conference/usenixsecurity20/presentation/frank
[18]
Ariel Fuxman, Lin Liu, John Mylopoulos, Marco Roveri, and Paolo Traverso. 2004. Specifying and analyzing early requirements in Tropos. Requir. Eng. 9, 2 (2004), 132--150.
[19]
Stijn Goedertier and Jan Vanthienen. 2006. Designing compliant business processes with obligations and permissions. In International Conference on Business Process Management. Springer, 5--14.
[20]
Ákos Hajdu and Dejan Jovanovic. 2019. solc-verify: A Modular Verifier for Solidity Smart Contracts. In Verified Software. Theories, Tools, and Experiments, VSTTE 2019 (LNCS, Vol. 12031). Springer, 161--179.
[21]
Ao Li and Fan Long. 2018. Detecting Standard Violation Errors in Smart Contracts. CoRR abs/1812.07702 (2018), 17 pages. arXiv:1812.07702 http://arxiv.org/abs/1812.07702
[22]
Jianwen Li, Geguang Pu, Yueling Zhang, Moshe Y. Vardi, and Kristin Y. Rozier. 2020. SAT-based explicit LTLf satisfiability checking. Artif. Intell. 289 (2020), 103369.
[23]
Z. Liu and J. Liu. 2019. Formal Verification of Blockchain Smart Contract Based on Colored Petri Net Models. In 2019 IEEE 43rd Annual Computer Software and Applications Conf. (COMPSAC), Vol. 2. 555--560.
[24]
Zohar Manna and Amir Pnueli. 1992. The temporal logic of reactive and concurrent systems - specification. Springer.
[25]
Marco Montali. 2010. Specification and Verification of Declarative Open Interaction Models - A Logic-Based Approach. LNBIP, Vol. 56. Springer.
[26]
Massimo Narizzano, Luca Pulina, Armando Tacchella, and Simone Vuotto. 2019. Property specification patterns at work: verification and inconsistency explanation. Innov. Syst. Softw. Eng. 15, 3--4 (2019), 307--323.
[27]
Zeinab Nehai, Pierre-Yves Piriou, and Frédéric F. Daumas. 2018. Model-Checking of Smart Contracts. In 1st IEEE International Conference on Blockchain. IEEE, 980--987.
[28]
Keerthi Nelaturu, Anastasia Mavridou, Andreas G. Veneris, and Aron Laszka. 2020. Verified Development and Deployment of Multiple Interacting Smart Contracts with VeriSolid. In IEEE International Conference on Blockchain and Cryptocurrency, ICBC 2020. IEEE, 1--9.
[29]
Gordon J. Pace, Cristian Prisacariu, and Gerardo Schneider. 2007. Model Checking Contracts - A Case Study. In Automated Technology for Verification and Analysis, 5th International Symposium, ATVA (LNCS, Vol. 4762). Springer, 82--97.
[30]
Alireza Parvizimosaed, Sepehr Sharifi, Daniel Amyot, Luigi Logrippo, and John Mylopoulos. 2020. Subcontracting, Assignment, and Substitution for Legal Contracts in Symboleo. In Conceptual Modeling. Springer, Cham, 271--285.
[31]
Alireza Parvizimosaed, Sepehr Sharifi, Daniel Amyot, Luigi Logrippo, Marco Roveri, Aidin Rasti, Ali Roudak, and John Mylopoulos. 2022. Specification and Analysis of Legal Contracts with Symboleo. Software and Systems Modeling (2022). Under revision.
[32]
Ingo Pill, Simone Semprini, Roberto Cavada, Marco Roveri, Roderick Bloem, and Alessandro Cimatti. 2006. Formal analysis of hardware requirements. In 43rd Design Automation Conference (DAC). ACM, 821--826.
[33]
Ana Reyna, Cristian Martín, Jaime Chen, Enrique Soler, and Manuel Díaz. 2018. On blockchain and its integration with IoT. Challenges and opportunities. Future Generation Computer Systems 88 (2018), 173--190.
[34]
Kristin Y. Rozier and Moshe Y. Vardi. 2010. LTL satisfiability checking. Int. J. Softw. Tools Technol. Transf. 12, 2 (2010), 123--137.
[35]
César Sánchez, Gerardo Schneider, Wolfgang Ahrendt, Ezio Bartocci, Domenico Bianculli, Christian Colombo, Yliès Falcone, Adrian Francalanza, Srdan Krstic, João M. Lourenço, Dejan Nickovic, Gordon J. Pace, José Rufino, Julien Signoles, Dmitriy Traytel, and Alexander Weiss. 2019. A survey of challenges for runtime verification from advanced application domains (beyond software). Formal Methods Syst. Des. 54, 3 (2019), 279--335.
[36]
Murray Shanahan. 1999. The event calculus explained. In Artificial intelligence today. Springer, 409--430.
[37]
Sepehr Sharifi, Alireza Parvizimosaed, Daniel Amyot, Luigi Logrippo, and John Mylopoulos. 2020. Symboleo: Towards a Specification Language for Legal Contracts. In 28th IEEE International Requirements Engineering Conference (RE 2020). IEEE, 364--369.
[38]
Evgeniy Shishkin. 2019. Debugging Smart Contract's Business Logic Using Symbolic Model Checking. Program. Comput. Softw. 45, 8 (2019), 590--599.
[39]
Nick Szabo. 1997. Formalizing and securing relationships on public networks. First Monday 2, 9 (1997).
[40]
The nuXmv team. 2020. The nuXmv symbolic model checker. https://nuxmv.fbk.eu
[41]
L Thomas Van Binsbergen, Lu-Chi Liu, Robert Van Doesburg, and Tom Van Engers. 2020. eFLINT: a Domain-Specific Language for Executable Norm Specifications. In 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE'20). ACM, 124--136.
[42]
Palina Tolmach, Yi Li, Shang-Wei Lin, Yang Liu, and Zengxiang Li. 2020. A Survey of Smart Contract Formal Specification and Verification. https://arxiv.org/abs/2008.02712 arXiv:2008.02712.
[43]
Mark Utting and Bruno Legeard. 2010. Practical model-based testing: a tools approach. Elsevier.

Cited By

View all
  • (2024)Automated generation of smart contract code from legal contract specifications with Symboleo2SCSoftware and Systems Modeling10.1007/s10270-024-01187-9Online publication date: 29-Jun-2024
  • (2024)SymboleoPC: checking properties of legal contractsSoftware and Systems Modeling10.1007/s10270-024-01180-2Online publication date: 3-Jul-2024
  • (2024)JustAct: Actions Universally Justified by Partial Dynamic PoliciesFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-62645-6_4(60-81)Online publication date: 17-Jun-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems
October 2022
412 pages
ISBN:9781450394666
DOI:10.1145/3550355
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 ACM 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]

Sponsors

In-Cooperation

  • Univ. of Montreal: University of Montreal
  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. formal specification languages
  2. legal contracts
  3. model checking
  4. nuXmv
  5. performance analysis
  6. smart contracts
  7. software requirements specifications

Qualifiers

  • Research-article

Conference

MODELS '22
Sponsor:

Acceptance Rates

MODELS '22 Paper Acceptance Rate 35 of 125 submissions, 28%;
Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Automated generation of smart contract code from legal contract specifications with Symboleo2SCSoftware and Systems Modeling10.1007/s10270-024-01187-9Online publication date: 29-Jun-2024
  • (2024)SymboleoPC: checking properties of legal contractsSoftware and Systems Modeling10.1007/s10270-024-01180-2Online publication date: 3-Jul-2024
  • (2024)JustAct: Actions Universally Justified by Partial Dynamic PoliciesFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-62645-6_4(60-81)Online publication date: 17-Jun-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media