ACM Transactions on Programming Languages and Systems最新文献

筛选
英文 中文
CSim2: Compositional Top-down Verification of Concurrent Systems using Rely-Guarantee 基于可靠保证的并发系统组合自顶向下验证
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1145/3436808
David Sanán, Yongwang Zhao, Shang-Wei Lin, Yang Liu
{"title":"CSim2: Compositional Top-down Verification of Concurrent Systems using Rely-Guarantee","authors":"David Sanán, Yongwang Zhao, Shang-Wei Lin, Yang Liu","doi":"10.1145/3436808","DOIUrl":"https://doi.org/10.1145/3436808","url":null,"abstract":"To make feasible and scalable the verification of large and complex concurrent systems, it is necessary the use of compositional techniques even at the highest abstraction layers. When focusing on the lowest software abstraction layers, such as the implementation or the machine code, the high level of detail of those layers makes the direct verification of properties very difficult and expensive. It is therefore essential to use techniques allowing to simplify the verification on these layers. One technique to tackle this challenge is top-down verification where by means of simulation properties verified on top layers (representing abstract specifications of a system) are propagated down to the lowest layers (that are an implementation of the top layers). There is no need to say that simulation of concurrent systems implies a greater level of complexity, and having compositional techniques to check simulation between layers is also desirable when seeking for both feasibility and scalability of the refinement verification. In this article, we present CSim2 a (compositional) rely-guaranteebased framework for the top-down verification of complex concurrent systems in the Isabelle/HOL theorem prover. CSim2 uses CSimpl, a language with a high degree of expressiveness designed for the specification of concurrent programs. Thanks to its expressibility, CSimpl is able to model many of the features found in real world programming languages like exceptions, assertions, and procedures. CSim2 provides a framework for the verification of rely-guarantee properties to compositionally reason on CSimpl specifications. Focusing on top-down verification, CSim2 provides a simulation-based framework for the preservation of CSimpl rely-guarantee properties from specifications to implementations. By using the simulation framework, properties proven on the top layers (abstract specifications) are compositionally propagated down to the lowest layers (source or machine code) in each concurrent component of the system. Finally, we show the usability of CSim2 by running a case study over two CSimpl specifications of an Arinc-653 communication service. In this case study, we prove a complex property on a specification, and we use CSim2 to preserve the property on lower abstraction layers.","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"184 1","pages":"2:1-2:46"},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80555195","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Compositional Programming 组合编程
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1145/3460228
Weixin Zhang, Yaozhu Sun, B. C. D. S. Oliveira
{"title":"Compositional Programming","authors":"Weixin Zhang, Yaozhu Sun, B. C. D. S. Oliveira","doi":"10.1145/3460228","DOIUrl":"https://doi.org/10.1145/3460228","url":null,"abstract":"Modularity is a key concern in programming. However, programming languages remain limited in terms of modularity and extensibility. Small canonical problems, such as the Expression Problem (EP), illustrate some of the basic issues: the dilemma between choosing one kind of extensibility over another one in most programming languages. Other problems, such as how to express dependencies in a modular way, add up to the basic issues and remain a significant challenge. This article presents a new statically typed modular programming style called Compositional Programming . In Compositional Programming, there is no EP: It is easy to get extensibility in multiple dimensions (i.e., it is easy to add new variants as well as new operations). Compositional Programming offers an alternative way to model data structures that differs from both algebraic datatypes in functional programming and conventional OOP class hierarchies. We introduce four key concepts for Compositional Programming: compositional interfaces , compositional traits , method patterns , and nested trait composition . Altogether, these concepts allow us to naturally solve challenges such as the Expression Problem, model attribute-grammar-like programs, and generally deal with modular programs with complex dependencies . We present a language design, called CP , which is proved to be type-safe, together with several examples and three case studies.","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"16 1","pages":"9:1-9:61"},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82429949","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
Programming Languages and Systems: 30th European Symposium on Programming, ESOP 2021, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021, Luxembourg City, Luxembourg, March 27 – April 1, 2021, Proceedings 编程语言和系统:第30届欧洲编程研讨会,ESOP 2021,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2021,卢森堡市,2021年3月27日至4月1日,论文集
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1007/978-3-030-72019-3
{"title":"Programming Languages and Systems: 30th European Symposium on Programming, ESOP 2021, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021, Luxembourg City, Luxembourg, March 27 – April 1, 2021, Proceedings","authors":"","doi":"10.1007/978-3-030-72019-3","DOIUrl":"https://doi.org/10.1007/978-3-030-72019-3","url":null,"abstract":"","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"14 1","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85136383","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Fresh Look at Zones and Octagons 重新审视区域和八角形
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1145/3457885
G. Gange, Zequn Ma, J. Navas, P. Schachte, H. Søndergaard, Peter James Stuckey
{"title":"A Fresh Look at Zones and Octagons","authors":"G. Gange, Zequn Ma, J. Navas, P. Schachte, H. Søndergaard, Peter James Stuckey","doi":"10.1145/3457885","DOIUrl":"https://doi.org/10.1145/3457885","url":null,"abstract":"Zones and Octagons are popular abstract domains for static program analysis. They enable the automated discovery of simple numerical relations that hold between pairs of program variables. Both domains are well understood mathematically but the detailed implementation of static analyses based on these domains poses many interesting algorithmic challenges. In this article, we study the two abstract domains, their implementation and use. Utilizing improved data structures and algorithms for the manipulation of graphs that represent difference-bound constraints, we present fast implementations of both abstract domains, built around a common infrastructure. We compare the performance of these implementations against alternative approaches offering the same precision. We quantify the differences in performance by measuring their speed and precision on standard benchmarks. We also assess, in the context of software verification, the extent to which the improved precision translates to better verification outcomes. Experiments demonstrate that our new implementations improve the state of the art for both Zones and Octagons significantly.","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"44 2","pages":"11:1-11:51"},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72628131","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Programming Languages and Systems: 19th Asian Symposium, APLAS 2021, Chicago, IL, USA, October 17–18, 2021, Proceedings 程序设计语言和系统:第19届亚洲研讨会,APLAS 2021,芝加哥,伊利诺伊州,美国,10月17日至18日,2021年,会议录
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1007/978-3-030-89051-3
{"title":"Programming Languages and Systems: 19th Asian Symposium, APLAS 2021, Chicago, IL, USA, October 17–18, 2021, Proceedings","authors":"","doi":"10.1007/978-3-030-89051-3","DOIUrl":"https://doi.org/10.1007/978-3-030-89051-3","url":null,"abstract":"","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"22 12","pages":""},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72459916","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Chocola: Composable Concurrency Language Chocola:可组合并发语言
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2021-01-01 DOI: 10.1145/3427201
Janwillem Swalens, Joeri De Koster, W. Meuter
{"title":"Chocola: Composable Concurrency Language","authors":"Janwillem Swalens, Joeri De Koster, W. Meuter","doi":"10.1145/3427201","DOIUrl":"https://doi.org/10.1145/3427201","url":null,"abstract":"Programmers often combine different concurrency models in a single program, in each part of the program using the model that fits best. Many programming languages, such as Clojure, Scala, and Java, cater to this need by supporting different concurrency models. However, existing programming languages often combine concurrency models in an ad hoc way, and the semantics of the combinations are not always well defined. This article studies the combination of three concurrency models: futures, transactions, and actors. We show that a naive combination of these models invalidates the guarantees they normally provide, thereby breaking the assumptions of programmers. Hence, we present Chocola: a unified language of futures, transactions, and actors that maintains the guarantees of all three models wherever possible, even when they are combined. We describe and formalize the semantics of this language and prove the guarantees it provides. We also provide an implementation as an extension of Clojure and demonstrated that it can improve the performance of three benchmark applications for relatively little effort from the developer.","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"7 1","pages":"17:1-17:56"},"PeriodicalIF":1.3,"publicationDate":"2021-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83045190","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Type Inference for C C的类型推理
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2020-11-13 DOI: 10.1145/3421472
T. C. MeloLeandro, G. RibeiroRodrigo, C. F. GuimarãesBreno, PereiraFernando Magno Quintão
{"title":"Type Inference for C","authors":"T. C. MeloLeandro, G. RibeiroRodrigo, C. F. GuimarãesBreno, PereiraFernando Magno Quintão","doi":"10.1145/3421472","DOIUrl":"https://doi.org/10.1145/3421472","url":null,"abstract":"Type inference is a feature that is common to a variety of programming languages. While, in the past, it has been prominently present in functional ones (e.g., ML and Haskell), today, many object-o...","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"42 1","pages":"1-71"},"PeriodicalIF":1.3,"publicationDate":"2020-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1145/3421472","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48301597","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols 会话协代数:会话类型和通信协议的协代数视图
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2020-11-11 DOI: 10.1007/978-3-030-72019-3_14
Alex C. Keizer, Henning Basold, Jorge A. P'erez
{"title":"Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols","authors":"Alex C. Keizer, Henning Basold, Jorge A. P'erez","doi":"10.1007/978-3-030-72019-3_14","DOIUrl":"https://doi.org/10.1007/978-3-030-72019-3_14","url":null,"abstract":"","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"21 1","pages":"375 - 403"},"PeriodicalIF":1.3,"publicationDate":"2020-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78474212","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
An Effective Fusion and Tile Size Model for PolyMage PolyMage的有效融合和贴图大小模型
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2020-11-08 DOI: 10.1145/3404846
JangdaAbhinav, BondhugulaUday
{"title":"An Effective Fusion and Tile Size Model for PolyMage","authors":"JangdaAbhinav, BondhugulaUday","doi":"10.1145/3404846","DOIUrl":"https://doi.org/10.1145/3404846","url":null,"abstract":"Effective models for fusion of loop nests continue to remain a challenge in both general-purpose and domain-specific language (DSL) compilers. The difficulty often arises from the combinatorial exp...","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"29 1","pages":"1-27"},"PeriodicalIF":1.3,"publicationDate":"2020-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77844873","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Graded Modal Dependent Type Theory 分级模态相关类型理论
IF 1.3 2区 计算机科学
ACM Transactions on Programming Languages and Systems Pub Date : 2020-10-25 DOI: 10.1007/978-3-030-72019-3_17
Benjamin Moon, H. Eades, Dominic A. Orchard
{"title":"Graded Modal Dependent Type Theory","authors":"Benjamin Moon, H. Eades, Dominic A. Orchard","doi":"10.1007/978-3-030-72019-3_17","DOIUrl":"https://doi.org/10.1007/978-3-030-72019-3_17","url":null,"abstract":"","PeriodicalId":50939,"journal":{"name":"ACM Transactions on Programming Languages and Systems","volume":"21 1","pages":"462 - 490"},"PeriodicalIF":1.3,"publicationDate":"2020-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81634866","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信