Temporal Higher-Order Contracts

被引:3
|
作者
Disney, Tim [1 ]
Flanagan, Cormac [1 ]
McCarthy, Jay [2 ]
机构
[1] Univ Calif Santa Cruz, Santa Cruz, CA 95064 USA
[2] Brigham Young Univ, Provo, UT 84602 USA
基金
美国国家科学基金会;
关键词
Languages; Reliability; Security; Verification; Higher-order Programming; Temporal Contracts; DERIVATIVES;
D O I
10.1145/2034574.2034800
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface violations, and help identify faulty modules (packages, classes, functions, etc). This paper extends prior higher-order contract systems to also express and enforce temporal properties, which are common in software systems with imperative state, but which are mostly left implicit or are at best informally specified. The paper presents both a programmatic contract API as well as a temporal contract language, and reports on experience and performance results from implementing these contracts in Racket. Our development formalizes module behavior as a trace of events such as function calls and returns. Our contract system provides both non-interference (where contracts cannot influence correct executions) and also a notion of completeness (where contracts can enforce any decidable, prefix-closed predicate on event traces).
引用
收藏
页码:176 / 188
页数:13
相关论文
共 50 条
  • [1] Temporal Higher-Order Contracts
    Disney, Tim
    Flanagan, Cormac
    McCarthy, Jay
    [J]. ICFP 11 - PROCEEDINGS OF THE 2011 ACM SIGPLAN: INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2011, : 176 - 188
  • [2] Contracts for higher-order functions
    Findler, RB
    Felleisen, M
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (09) : 48 - 59
  • [3] Contracts for Higher-Order Functions
    Findler, Robert Bruce
    Felleisen, Matthias
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (04) : 34 - 45
  • [4] Higher-Order Symbolic Execution via Contracts
    Tobin-Hochstadt, Sam
    Van Horn, David
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 537 - 554
  • [5] Higher-Order Temporal Network Prediction
    Jung-Muller, Mathieu
    Ceria, Alberto
    Wang, Huijuan
    [J]. COMPLEX NETWORKS & THEIR APPLICATIONS XII, VOL 4, COMPLEX NETWORKS 2023, 2024, 1144 : 461 - 472
  • [6] Blame Assignment for Higher-Order Contracts with Intersection and Union
    Keil, Matthias
    Thiemann, Peter
    [J]. PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'15), 2015, : 375 - 386
  • [7] USING HIGHER-ORDER CONTRACTS TO MODEL SESSION TYPES
    Bernardi, Giovanni
    Hennessy, Matthew
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2016, 12 (02)
  • [8] Blame Assignment for Higher-Order Contracts with Intersection and Union
    Keil, Matthias
    Thiemann, Peter
    [J]. ACM SIGPLAN NOTICES, 2015, 50 (09) : 375 - 386
  • [9] The sense of temporal flow: a higher-order account
    Sattig, Thomas
    [J]. PHILOSOPHICAL STUDIES, 2019, 176 (11) : 3041 - 3059
  • [10] The sense of temporal flow: a higher-order account
    Thomas Sattig
    [J]. Philosophical Studies, 2019, 176 : 3041 - 3059