首页 > 最新文献

Proceedings of 16th Workshop on Formal Techniques for Java-like Programs最新文献

英文 中文
Proceedings of 16th Workshop on Formal Techniques for Java-like Programs 第16届类java程序的形式化技术研讨会论文集
David J. Pearce
These are the proceedings of the 16th Workshop on Formal Techniques for Java-like Programs (FTfJP 2014) held together with ECOOP 2014 in Uppsala, Sweden.
这是第16届类java程序正式技术研讨会(FTfJP 2014)与ECOOP 2014在瑞典乌普萨拉举行的会议记录。
{"title":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","authors":"David J. Pearce","doi":"10.1145/2635631","DOIUrl":"https://doi.org/10.1145/2635631","url":null,"abstract":"These are the proceedings of the 16th Workshop on Formal Techniques for Java-like Programs (FTfJP 2014) held together with ECOOP 2014 in Uppsala, Sweden.","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126614709","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Rationally Reconstructing the Escrow Example 合理重构托管案例
Pub Date : 2014-07-28 DOI: 10.1145/2635631.2635850
J. Noble, S. Drossopoulou
The Escrow Exchange Contract has been used as a case study of building up complex and trustworthy systems from basic object capabilities, in the context of concurrent and distributed programming. In this short paper we present a Rational Reconstruction of the Escrow Exchange Contract case study, expressed in Grace, concentrating on the most essential issues of trustworthiness, and ignoring issues to do with distribution or more complex protocols. We then use our notation for capability policies to specify the key features of the reconstructed case study.
托管交换合约(Escrow Exchange Contract)已被用作在并发和分布式编程的背景下,从基本对象功能构建复杂可信系统的案例研究。在这篇简短的论文中,我们提出了一个托管交换合同的理性重构案例研究,以Grace的形式表达,专注于可信度的最基本问题,而忽略了与分发或更复杂协议有关的问题。然后,我们使用能力策略的符号来指定重构案例研究的关键特征。
{"title":"Rationally Reconstructing the Escrow Example","authors":"J. Noble, S. Drossopoulou","doi":"10.1145/2635631.2635850","DOIUrl":"https://doi.org/10.1145/2635631.2635850","url":null,"abstract":"The Escrow Exchange Contract has been used as a case study of building up complex and trustworthy systems from basic object capabilities, in the context of concurrent and distributed programming. In this short paper we present a Rational Reconstruction of the Escrow Exchange Contract case study, expressed in Grace, concentrating on the most essential issues of trustworthiness, and ignoring issues to do with distribution or more complex protocols. We then use our notation for capability policies to specify the key features of the reconstructed case study.","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"151 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122968954","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Verifying Functional Behaviour of Concurrent Programs 验证并发程序的功能行为
Pub Date : 2014-07-28 DOI: 10.1145/2635631.2635849
Marina Zaharieva-Stojanovski, M. Huisman, S. Blom
Specifying the functional behaviour of a concurrent program can often be quite troublesome: it is hard to provide a stable method contract that can not be invalidated by other threads. In this paper we propose a novel modular technique for specifying and verifying behavioural properties in concurrent programs. Our approach uses history-based specifications. A history is a process algebra term built of actions, where each action represents an update over a heap location. Instead of describing the object's precise state, a method contract may describe the method's behaviour in terms of actions recorded in the history. The client class can later use the history to reason about the concrete state of the object. Our approach allows providing simple and intuitive specifications, while the logic is a simple extension of permission-based separation logic.
指定并发程序的功能行为通常是相当麻烦的:很难提供一个稳定的方法契约,不能被其他线程失效。在本文中,我们提出了一种新的模块化技术来指定和验证并发程序的行为特性。我们的方法使用基于历史的规范。历史是由操作组成的进程代数术语,其中每个操作表示对堆位置的更新。与描述对象的精确状态不同,方法契约可以根据历史记录来描述方法的行为。客户端类稍后可以使用历史来推断对象的具体状态。我们的方法允许提供简单和直观的规范,而逻辑是基于权限的分离逻辑的简单扩展。
{"title":"Verifying Functional Behaviour of Concurrent Programs","authors":"Marina Zaharieva-Stojanovski, M. Huisman, S. Blom","doi":"10.1145/2635631.2635849","DOIUrl":"https://doi.org/10.1145/2635631.2635849","url":null,"abstract":"Specifying the functional behaviour of a concurrent program can often be quite troublesome: it is hard to provide a stable method contract that can not be invalidated by other threads. In this paper we propose a novel modular technique for specifying and verifying behavioural properties in concurrent programs. Our approach uses history-based specifications. A history is a process algebra term built of actions, where each action represents an update over a heap location. Instead of describing the object's precise state, a method contract may describe the method's behaviour in terms of actions recorded in the history. The client class can later use the history to reason about the concrete state of the object. Our approach allows providing simple and intuitive specifications, while the logic is a simple extension of permission-based separation logic.","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134643908","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Tinygrace: A Simple, Safe, and Structurally Typed Language Tinygrace:一种简单、安全、结构类型语言
Pub Date : 2014-07-28 DOI: 10.1145/2635631.2635848
T. Jones, J. Noble
Grace is a new gradually, structurally typed object-oriented programming language. Formal models of existing languages provide a rigorous base for claiming type soundness, so we have set about creating a model of a subset of Grace. While much of the formal literature of objects has used structural typing, models of popular modern languages such as Featherweight Java have had to use nominal typing to match the language they are modelling. In contrast to this, we present Tinygrace: a subset of Grace with a structural type system, feature-parity with FJ, and an accompanying proof of soundness.
Grace是一种新的渐进的、结构类型的面向对象程序设计语言。现有语言的正式模型为声明类型稳健性提供了严格的基础,因此我们开始着手创建Grace子集的模型。虽然很多关于对象的正式文献都使用了结构类型,但是流行的现代语言(如轻量级Java)的模型不得不使用名义类型来匹配它们所建模的语言。与此相反,我们提出了Tinygrace: Grace的一个子集,具有结构类型系统,与FJ的特征奇偶性,以及伴随的稳健性证明。
{"title":"Tinygrace: A Simple, Safe, and Structurally Typed Language","authors":"T. Jones, J. Noble","doi":"10.1145/2635631.2635848","DOIUrl":"https://doi.org/10.1145/2635631.2635848","url":null,"abstract":"Grace is a new gradually, structurally typed object-oriented programming language. Formal models of existing languages provide a rigorous base for claiming type soundness, so we have set about creating a model of a subset of Grace. While much of the formal literature of objects has used structural typing, models of popular modern languages such as Featherweight Java have had to use nominal typing to match the language they are modelling. In contrast to this, we present Tinygrace: a subset of Grace with a structural type system, feature-parity with FJ, and an accompanying proof of soundness.","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127446521","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
How to prove type soundness of Java-like languages without forgoing big-step semantics 如何在不放弃大步骤语义的情况下证明类java语言的类型稳健性
Pub Date : 2014-07-28 DOI: 10.1145/2635631.2635846
D. Ancona
Small-step operational semantics is the most commonly employed formalism for proving type soundness of statically typed programming languages, because of its ability to distinguish stuck from non-terminating computations, as opposed to big-step operational semantics. Despite this, big-step operational semantics is more abstract, and more useful for specifying interpreters. In previous work we have proposed a new proof technique to prove type soundness of a Java-like language expressed in terms of its big-step operational semantics. However the presented proof is rather involved, since it requires showing that the set of proof trees defining the semantic judgment forms a complete metric space when equipped with a specific distance function. In this paper we propose a more direct and abstract approach that exploits a standard and general compactness property of the metric space of values, that allows approximation of the coinductive big-step semantics in terms of the small-step one; in this way type soundness can be proved by standard mathematical induction.
小步骤操作语义是证明静态类型编程语言的类型稳健性最常用的形式,因为它能够区分卡住和非终止计算,而不是大步骤操作语义。尽管如此,大步操作语义更加抽象,对于指定解释器更有用。在之前的工作中,我们提出了一种新的证明技术来证明用大步骤操作语义表达的类java语言的类型稳健性。然而,所提出的证明相当复杂,因为它需要证明定义语义判断的证明树集在配备特定距离函数时形成完整的度量空间。在本文中,我们提出了一种更直接和抽象的方法,该方法利用了值度量空间的标准和一般紧性,允许用小步语义逼近协归纳大步语义;这样,就可以用标准数学归纳法证明类型的健全性。
{"title":"How to prove type soundness of Java-like languages without forgoing big-step semantics","authors":"D. Ancona","doi":"10.1145/2635631.2635846","DOIUrl":"https://doi.org/10.1145/2635631.2635846","url":null,"abstract":"Small-step operational semantics is the most commonly employed formalism for proving type soundness of statically typed programming languages, because of its ability to distinguish stuck from non-terminating computations, as opposed to big-step operational semantics. Despite this, big-step operational semantics is more abstract, and more useful for specifying interpreters. In previous work we have proposed a new proof technique to prove type soundness of a Java-like language expressed in terms of its big-step operational semantics. However the presented proof is rather involved, since it requires showing that the set of proof trees defining the semantic judgment forms a complete metric space when equipped with a specific distance function. In this paper we propose a more direct and abstract approach that exploits a standard and general compactness property of the metric space of values, that allows approximation of the coinductive big-step semantics in terms of the small-step one; in this way type soundness can be proved by standard mathematical induction.","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124595779","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Constraint Semantics for Abstract Read Permissions 抽象读权限的约束语义
Pub Date : 2014-07-28 DOI: 10.1145/2635631.2635847
J. Boyland, Peter Müller, M. Schwerhoff, Alexander J. Summers
The concept of controlling access to mutable shared data via permissions is at the heart of permission logics such as separation logic and implicit dynamic frames, and is also used in type systems, for instance, to give a semantics to "read-only" annotations. Existing permission models have different strengths in terms of expressiveness. Fractional permissions, for example, enable unbounded (recursive) splitting, whereas counting permissions enable unbounded subtraction of the same permission amount. Combining these strengths in a single permission model appeared to increase the complexity for the user and tools. In this paper we extend our previous work on abstract read permissions by providing them with a novel constraint semantics, which retains the use of the domain of rational numbers but enables unbounded subtraction of identical amounts. Thus we can keep an intuitive model conducive to SMT solvers while enabling "counting."
通过权限控制对可变共享数据的访问的概念是权限逻辑(如分离逻辑和隐式动态框架)的核心,也用于类型系统,例如,为“只读”注释提供语义。现有的权限模型在表达性方面具有不同的优势。例如,分数权限允许无界(递归)分割,而计数权限允许无界减去相同的权限。在单一权限模型中结合这些优势似乎增加了用户和工具的复杂性。在本文中,我们通过提供一种新的约束语义来扩展我们之前关于抽象读权限的工作,该语义保留了有理数域的使用,但支持相同数量的无界减法。因此,在启用“计数”的同时,我们可以保持有利于SMT求解器的直观模型。
{"title":"Constraint Semantics for Abstract Read Permissions","authors":"J. Boyland, Peter Müller, M. Schwerhoff, Alexander J. Summers","doi":"10.1145/2635631.2635847","DOIUrl":"https://doi.org/10.1145/2635631.2635847","url":null,"abstract":"The concept of controlling access to mutable shared data via permissions is at the heart of permission logics such as separation logic and implicit dynamic frames, and is also used in type systems, for instance, to give a semantics to \"read-only\" annotations. Existing permission models have different strengths in terms of expressiveness. Fractional permissions, for example, enable unbounded (recursive) splitting, whereas counting permissions enable unbounded subtraction of the same permission amount. Combining these strengths in a single permission model appeared to increase the complexity for the user and tools. In this paper we extend our previous work on abstract read permissions by providing them with a novel constraint semantics, which retains the use of the domain of rational numbers but enables unbounded subtraction of identical amounts. Thus we can keep an intuitive model conducive to SMT solvers while enabling \"counting.\"","PeriodicalId":251269,"journal":{"name":"Proceedings of 16th Workshop on Formal Techniques for Java-like Programs","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127681957","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
期刊
Proceedings of 16th Workshop on Formal Techniques for Java-like Programs
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1