Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs最新文献

筛选
英文 中文
Towards verified construction of correct and optimised GPU software 朝向验证构建正确且优化的GPU软件
M. Huisman, Anton Wijs
{"title":"Towards verified construction of correct and optimised GPU software","authors":"M. Huisman, Anton Wijs","doi":"10.1145/3427761.3428344","DOIUrl":"https://doi.org/10.1145/3427761.3428344","url":null,"abstract":"Techniques are required that support developers to produce GPU software that is both functionally correct and high-performing. We envision an integration of push-button formal verification techniques into a Model Driven Engineering workflow. In this paper, we present our vision on this topic, and how we plan to make steps in that direction in the coming five years.","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131972874","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
ConSysT: tunable, safe consistency meets object-oriented programming ConSysT:可调的、安全的一致性符合面向对象编程
M. Köhler, Nafise Eskandani Masoule, Alessandro Margara, G. Salvaneschi
{"title":"ConSysT: tunable, safe consistency meets object-oriented programming","authors":"M. Köhler, Nafise Eskandani Masoule, Alessandro Margara, G. Salvaneschi","doi":"10.1145/3427761.3428346","DOIUrl":"https://doi.org/10.1145/3427761.3428346","url":null,"abstract":"Data replication is essential in scenarios like geo-distributed datacenters, but poses challenges for data consistency. Developers adopt Strong consistency at the cost of performance or embrace Weak consistency and face a higher programming complexity. We argue that languages should associate consistency to data types. We present , a programming language and middleware that provides abstractions to specify consistency types, enabling mixing different consistency levels in the same application. Such mechanism is fully integrated with object-oriented programming and type system guarantees that different levels can only be mixed correctly.","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120977889","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
An inductive abstract semantics for coFJ coFJ的归纳抽象语义
Pietro Barbieri, Francesco Dagnino, E. Zucca
{"title":"An inductive abstract semantics for coFJ","authors":"Pietro Barbieri, Francesco Dagnino, E. Zucca","doi":"10.1145/3427761.3428342","DOIUrl":"https://doi.org/10.1145/3427761.3428342","url":null,"abstract":"We describe an inductive abstract semantics for coFJ, a Java-like calculus where, when the same method call is encountered twice, non-termination is avoided, and the programmer can decide the behaviour in this case, by writing a codefinition. The proposed semantics is abstract in the sense that evaluation is non-deterministic, and objects are possibly infinite. However, differently from typical coinductive handling of infinite values, the semantics is inductive, since it relies on detection of cyclic calls. Whereas soundness with respect to the reference coinductive semantics has already been proved, we conjecture that completeness with respect to the regular subset of such semantics holds as well. This relies on the fact that in the proposed semantics detection of cycles is non-deterministic, that is, does not necessarily happens the first time a cycle is found.","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"542 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121147620","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
Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs 第22届ACM SIGPLAN类java程序正式技术国际研讨会论文集
{"title":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","authors":"","doi":"10.1145/3427761","DOIUrl":"https://doi.org/10.1145/3427761","url":null,"abstract":"","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123531813","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
History-based specification and verification of Java collections in KeY (keynote) 基于历史的Java集合规范和验证(主题演讲)
F. S. Boer, Hans-Dieter A. Hiep
{"title":"History-based specification and verification of Java collections in KeY (keynote)","authors":"F. S. Boer, Hans-Dieter A. Hiep","doi":"10.1145/3427761.3432349","DOIUrl":"https://doi.org/10.1145/3427761.3432349","url":null,"abstract":"Software libraries, such as the Java Collection Framework, are used by many applications: thus their correctness is of utmost importance. The state-of-the-art KeY system can be used to formally reason about program correctness of Java programs. Recently, KeY has been used to show major flaws in the Java Collection Framework. However, some methods are challenging for verification, namely those involving parameters of interface type. This lecture discussed a new history-based specification method for reasoning about the correctness of clients and arbitrary implementations of interfaces, and the Collection interface in particular.","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125422811","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
Salsa: static analysis of serialization features Salsa:序列化特征的静态分析
Joanna C. S. Santos, Reese A. Jones, Mehdi Mirakhorli
{"title":"Salsa: static analysis of serialization features","authors":"Joanna C. S. Santos, Reese A. Jones, Mehdi Mirakhorli","doi":"10.1145/3427761.3428343","DOIUrl":"https://doi.org/10.1145/3427761.3428343","url":null,"abstract":"Static analysis has the advantage of reasoning over multiple possible paths. Thus, it has been widely used for verification of program properties. Property verification often requires inter-procedural analysis, in which control and data flow are tracked across methods. At the core of inter-procedural analyses is the call graph, which establishes relationships between caller and callee methods. However, it is challenging to perform static analysis and compute the call graph of programs with dynamic features. Dynamic features are widely used in software systems; not supporting them makes it difficult to reason over properties related to these features. Although state-of-the-art research had explored certain types of dynamic features, such as reflection and RMI-based programs, serialization-related features are still not very well supported, as demonstrated in a recent empirical study. Therefore, in this paper, we introduce Salsa (Static AnaLyzer for SeriAlization features), which aims to enhance existing points-to analysis with respect to serialization-related features. The goal is to enhance the resulting call graph's soundness, while not greatly affecting its precision. In this paper, we report our early effort in developing Salsa and its early evaluation using the Java Call Graph Test Suite (JCG).","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127171245","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}
引用次数: 2
Prusti: deductive verification for Rust (keynote) Rust的演绎验证(主题演讲)
Alexander J. Summers
{"title":"Prusti: deductive verification for Rust (keynote)","authors":"Alexander J. Summers","doi":"10.1145/3427761.3432348","DOIUrl":"https://doi.org/10.1145/3427761.3432348","url":null,"abstract":"Producing reliable systems software is a major challenge, plagued by the ubiquitous problems of shared mutable state, pointer aliasing, dynamic memory management, and subtle concurrency issues such as race conditions; even expert programmers struggle to tame the wide variety of reasons why their programs may not behave as they intended. Formal verification offers potential solutions to many of these problems, but typically at a very high price: the mathematical techniques employed are highly-complex, and difficult for even expert researchers to understand and apply. The relatively-new Rust programming language is designed to help with the former problem: a powerful ownership type system requires programmers to specify and restrict their discipline for referencing heap locations, providing in return the strong guarantee (almost; we’ll discuss this..) that code type-checked by this system will be free from dangling pointers, unexpected aliasing, race conditions and the like. While this rules out a number of common errors, the question of whether a program behaves as intended remains. This tutorial provides an introduction to the Prusti project, which leverages Rust’s type system and compiler analyses for formal verification of Rust code. By combining the rich information available about a type-checked Rust program with separate user-specification of intended behaviour, Prusti enables a user to verify functional correctness of their code without interacting with a complex program logic; in particular, specifications and all interactions with our implemented tool are at the level of abstraction of Rust expressions. The tutorial includes live demos with the tool, and audience participation is strongly encouraged!","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121659700","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
A separation logic to verify termination of busy-waiting for abrupt program exit 一个分离逻辑,用于验证繁忙等待程序突然退出的终止
Tobias Reinhard, Amin Timany, B. Jacobs
{"title":"A separation logic to verify termination of busy-waiting for abrupt program exit","authors":"Tobias Reinhard, Amin Timany, B. Jacobs","doi":"10.1145/3427761.3428345","DOIUrl":"https://doi.org/10.1145/3427761.3428345","url":null,"abstract":"Programs for multiprocessor machines commonly perform busy-waiting for synchronisation. In this paper, we make a first step towards proving termination of such programs. We approximate (i) arbitrary waitable events by abrupt program termination and (ii) busy-waiting for events by busy-waiting to be abruptly terminated. We propose a separation logic for modularly verifying termination (under fair scheduling) of programs where some threads eventually abruptly terminate the program, and other threads busy-wait for this to happen.","PeriodicalId":433231,"journal":{"name":"Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128373607","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}
引用次数: 3
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学术官方微信