A resource semantics and abstract machine for Safe: A functional language with regions and explicit deallocation

被引:3
作者
Montenegro, Manuel [1 ]
Pena, Ricardo [1 ]
Segura, Clara [1 ]
机构
[1] Univ Complutense Madrid, Dept Sistemas Informat & Comp, E-28040 Madrid, Spain
关键词
Functional languages; Memory management; Certifying compilers; Abstract machines; Code generation; INFERENCE;
D O I
10.1016/j.ic.2014.01.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this paper we summarise Safe, a first-order functional language for programming small devices and embedded systems with strict memory requirements, which has been introduced elsewhere. It has some unusual memory management features such as heap regions and explicit cell deallocation. It is targeted at a Proof Carrying Code environment, and consistently with this aim the Safe compiler provides machine checkable certificates about important safety properties such as the absence of dangling pointers and bounded memory consumption. The kernel of the paper is devoted to developing part of the Safe compiler's back-end, by deriving an appropriate abstract machine from the language semantics, by providing the code generation functions, and by formally proving that the translation is sound, both in the semantic and in the memory consumption senses. (C) 2014 Elsevier Inc. All rights reserved.
引用
收藏
页码:3 / 35
页数:33
相关论文
共 42 条
  • [1] Ager ABDM03 Mads Sig, 2003, P 5 ACM SIGPLAN INT, P8, DOI DOI 10.1145/888251.888254
  • [2] AIKEN A, 1995, SIGPLAN NOTICES, V30, P174, DOI 10.1145/223428.207137
  • [3] [Anonymous], 2002, Lect. Notes Comput. Sci
  • [4] [Anonymous], 2003, ACM SIGSOFT Softw. Eng. Notes, DOI DOI 10.1145/966221.966235
  • [5] A program logic for resources
    Aspinall, David
    Beringer, Lennart
    Hofmann, Martin
    Loidl, Hans-Wolfgang
    Momigliano, Alberto
    [J]. THEORETICAL COMPUTER SCIENCE, 2007, 389 (03) : 411 - 445
  • [6] Berghofer S, 2003, ELECT NOTES THEORETI, V82, P377, DOI DOI 10.1016/S1571-0661(05)82598-8
  • [7] Birkedal L., 1996, Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, P171, DOI 10.1145/237721.237771
  • [8] Blazy S, 2006, LECT NOTES COMPUT SC, V4085, P460
  • [9] de Dios Javier, 2011, FM 2011: Formal Methods. Proceedings 17th International Symposium on Formal Methods, P184, DOI 10.1007/978-3-642-21437-0_16
  • [10] de Dios J, 2010, LECT NOTES COMPUT SC, V6396, P305, DOI 10.1007/978-3-642-16265-7_22