The Discourje project: run-time verification of communication protocols in Clojure

被引:0
|
作者
Ruben Hamers
Erik Horlings
Sung-Shik Jongmans
机构
[1] Open University of the Netherlands,Department of Computer Science
[2] Stichting Nederlandse Wetenschappelijk Onderzoek Instituten (NWO-I),Centrum Wiskunde and Informatica (CWI)
关键词
Runtime verification; Multiparty session types; Concurrency;
D O I
暂无
中图分类号
学科分类号
摘要
To simplify shared-memory concurrent programming, languages have started to offer core support for high-level communications primitives, in the form of message passing though channels, in addition to lower-level synchronisation primitives. Yet, a growing body of evidence suggests that channel-based programming abstractions also have their issues. The Discourje project aims to help programmers cope with channels and concurrency bugs in Clojure programs, based on dynamic analysis. The idea is that programmers write not only implementations of communication protocols in their Clojure programs, but also specifications. Discourje then offers a run-time verification library to ensure that channel actions in implementations are safe relative to specifications. The aim of this paper is to provide a comprehensive overview of the current state of Discourje, including case studies, theoretical foundations, and practical aspects.
引用
收藏
页码:757 / 782
页数:25
相关论文
共 50 条
  • [31] PublicCheck: Public Integrity Verification for Services of Run-time Deep Models
    Wang, Shuo
    Abuadbba, Sharif
    Agarwal, Sidharth
    Moore, Kristen
    Sun, Ruoxi
    Xue, Minhui
    Nepal, Surya
    Camtepe, Seyit
    Kanhere, Salil
    2023 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP, 2023, : 1348 - 1365
  • [32] Stochastic Verification of Run-time Performance Adaptation with Field Delay Testing
    Hashimoto, Masanori
    2014 IEEE ASIA PACIFIC CONFERENCE ON CIRCUITS AND SYSTEMS (APCCAS), 2014, : 751 - 754
  • [33] Component-based approach to run-time kernel specification and verification
    Naeser, G
    Lundqvist, K
    17TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, PROCEEDINGS, 2005, : 68 - 76
  • [34] Run-time detection of communication deadlocks in occam 2 programs
    Zhao, JJ
    Abe, H
    Nomura, Y
    Cheng, JD
    Ushijima, K
    CORRECT MODELS OF PARALLEL COMPUTING, 1997, 49 : 97 - 107
  • [35] On-chip communication in run-time assembled reconfigurable systems
    Sedcole, Pete
    Cheung, Peter Y. K.
    Constantinides, George A.
    Luk, Wayne
    2006 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING AND SIMULATION, PROCEEDINGS, 2006, : 168 - +
  • [36] Wires on demand:: Run-time communication synthesis for reconfigurable computing
    Athanas, P.
    Bowen, J.
    Dunham, T.
    Patterson, C.
    Rice, J.
    Shelburne, M.
    Suris, J.
    Bucciero, M.
    Graf, J.
    2007 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS, VOLS 1 AND 2, 2007, : 513 - 516
  • [37] Prevent: A Predictive Run-Time Verification Framework Using Statistical Learning
    Babaee, Reza
    Gurfinkel, Arie
    Fischmeister, Sebastian
    SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2018, 2018, 10886 : 205 - 220
  • [38] Run-time verification using the VHDL-AMS simulation environment
    Dong, Zhi Jie
    Zaki, Mohamed H.
    Al Sammane, Ghiath
    Tahar, Sofiene
    Bois, Guy
    2007 IEEE NORTH-EAST WORKSHOP ON CIRCUITS AND SYSTEMS, 2007, : 313 - +
  • [39] Performance regression testing and run-time verification of components in robotics systems
    Wienke, J.
    Wrede, S.
    ADVANCED ROBOTICS, 2017, 31 (22) : 1177 - 1192
  • [40] Enabling run-time system verification through built-in testing
    Brenner, Daniel
    TAIC PART - TESTING: ACADEMIC & INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS, 2006, : 131 - 134