Thunks and Debits in Separation Logic with Time Credits

被引:3
|
作者
Pottier, Francois [1 ]
Gueneau, Armael [2 ]
Jourdan, Jacques-Henri [3 ]
Mevel, Glen [2 ]
机构
[1] INRIA, Paris, France
[2] Univ Paris Saclay, CNRS, ENS Paris Saclay, INRIA,LMF, F-91190 Gif Sur Yvette, France
[3] Univ Paris Saclay, CNRS, ENS Paris Saclay, LMF, F-91190 Gif Sur Yvette, France
关键词
program verification; separation logic; time complexity;
D O I
10.1145/3632892
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A thunk is a mutable data structure that offers a simple memoization service: it stores either a suspended computation or the result of this computation. Okasaki [1999] presents many data structures that exploit thunks to achieve good amortized time complexity. He analyzes their complexity by associating a debit with every thunk. A debit can be paid off in several increments; a thunk whose debit has been fully paid off can be forced. Quite strikingly, a debit is associated also with future thunks, which do not yet exist in memory. Some of the debit of a faraway future thunk can be transferred to a nearer future thunk. We present a complete machine-checked reconstruction of Okasaki's reasoning rules in Iris($), a rich separation logic with time credits. We demonstrate the applicability of the rules by verifying a few operations on streams as well as several of Okasaki's data structures, namely the physicist's queue, implicit queues, and the banker's queue.
引用
收藏
页数:27
相关论文
共 50 条
  • [31] Local management of credits and debits in mobile ad hoc networks
    Martinelli, F
    Petrocchi, M
    Vaccarelli, A
    COMMUNICATIONS AND MULTIMEDIA SECURITY, 2005, 175 : 31 - 45
  • [32] Debits and Credits or Accounting for my Life A Defense of Reading and Humanistic Education
    Miller, Paul Allen
    COMPARATIST, 2020, 44 : 283 - 295
  • [33] Tachis: Higher-Order Separation Logic with Credits for Expected Costs
    Haselwarter, Philipp G.
    Li, Kwing H.E.I.
    Medeiros, Markus D.E.
    Gregersen, Simon Oddershede
    Aguirre, Alejandro
    Tassarotti, Joseph
    Birkedal, Lars
    Proceedings of the ACM on Programming Languages, 2024, 8 (OOPSLA2)
  • [34] Evaluating the Credits and Debits of a Proposed Biofuel Species: Giant Reed (Arundo donax)
    Mack, Richard N.
    WEED SCIENCE, 2008, 56 (06) : 883 - 888
  • [35] Thoroughly Modern Accounting: Shifting to a De Re Conceptual Pattern for Debits and Credits
    Partridge, Chris
    Khan, Mesbah
    de Cesare, Sergio
    Gailly, Frederik
    Verdonck, Michael
    Mitchell, Andrew
    ADVANCES IN CONCEPTUAL MODELING, ER 2018, 2019, 11158 : 134 - 148
  • [36] Reading Lovelace's "Rosebud": Credits, Debits, and Character in Samuel Richardson's Clarissa
    Blakely, Kathryn
    EIGHTEENTH-CENTURY FICTION, 2021, 33 (03) : 329 - 348
  • [37] FEASIBILITY OF FECAL OCCULT-BLOOD TESTING FOR DETECTION OF COLORECTAL NEOPLASIA - DEBITS AND CREDITS
    WINAWER, SJ
    MILLER, DG
    SCHOTTENFELD, D
    LEIDNER, SD
    SHERLOCK, P
    BEFLER, B
    STEARNS, MW
    CANCER, 1977, 40 (05) : 2616 - 2619
  • [38] 150 Years of Debits and Credits. Studies on Gustav Freytag's controversial Novel
    Betz, Frederick
    MONATSHEFTE, 2007, 99 (02) : 237 - 239
  • [39] MORE DEBITS THAN CREDITS - BURNT INVESTORS GUIDE TO FINANCIAL-STATEMENTS - BRILOFF,AJ
    THOMAS, AL
    ACCOUNTING REVIEW, 1976, 51 (04): : 938 - 940
  • [40] TNFα in isolated perfusion systems:: Success in the limb, developments for the liver credits, debits and future perspectives
    Eggermont, AMM
    ANTICANCER RESEARCH, 1998, 18 (5D) : 3899 - 3905