23rd International Symposium on Principles and Practice of Declarative Programming最新文献

筛选
英文 中文
Programming Languages Techniques for Controlling Generalization Errors in Adaptive Data Analysis 自适应数据分析中控制泛化误差的编程语言技术
Marco Gaboardi
{"title":"Programming Languages Techniques for Controlling Generalization Errors in Adaptive Data Analysis","authors":"Marco Gaboardi","doi":"10.1145/3479394.3479395","DOIUrl":"https://doi.org/10.1145/3479394.3479395","url":null,"abstract":"Data analysts aim at guaranteeing that the result of a data analysis run on sample data does not differ too much from the result one would achieve by running the analysis over the entire population. To achieve this goal, they have developed several techniques to control the generalization errors of their data analyses. In this talk, I will discuss how programming language techniques can help data analysts to design adaptive data analyses with low generalization error. An adaptive data analysis can be seen as a process composed by multiple queries interrogating some data, where the choice of which query to run next may rely on the results of previous queries. When queries are arbitrarily composed, the different errors can propagate through the chain of different queries and bring high generalization errors. To address this issue, data analysts are designing several techniques that not only guarantee bounds on the generalization errors of single queries, but that also guarantee bounds on the generalization error of the composed analyses. In my talk, I will first present a programming model for adaptive data analyses based on a simple imperative programming language that is suitable to integrate different techniques that can be used for controlling the generalization error. I will then introduce a program analysis for this language that, given an input program implementing an adaptive data analysis, generates an upper bound on the total number of queries that the data analysis will run, and more interestingly also an upper bound on the depth of the chain of queries implemented by the input program. These two measures Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). PPDP 2021, September 6–8, 2021, Tallinn, Estonia © 2021 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-8689-0/21/09. https://doi.org/10.1145/3479394.3479395 can be used to select the right technique to guarantee a bound on the generalization error of the input data analysis. I will also discuss how such program analysis could also be potentially extended to higher order functional programs. I will then discuss limitations and potential future works.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124789955","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
Minimal Session Types for the π-calculus π微积分的最小会话类型
Alen Arslanagic, Anda-Amelia Palamariuc, Jorge A. Pérez
{"title":"Minimal Session Types for the π-calculus","authors":"Alen Arslanagic, Anda-Amelia Palamariuc, Jorge A. Pérez","doi":"10.1145/3479394.3479407","DOIUrl":"https://doi.org/10.1145/3479394.3479407","url":null,"abstract":"Session types enable the static verification of message-passing programs. A session type specifies a channel’s protocol as sequences of messages. Prior work established a minimality result: every process typable with standard session types can be compiled down to a process typable using minimal session types: session types without the sequencing construct. This result justifies session types in terms of themselves; it holds for a higher-order session π-calculus, where values are abstractions (functions from names to processes). This paper establishes a new minimality result but now for the session π-calculus, the language in which values are names and for which session types have been more widely studied. Remarkably, this new minimality result can be obtained by composing known results. We develop optimizations of our new minimality result, and establish its static and dynamic correctness.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134245877","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
A Mechanized Semantic Metalanguage for High Level Synthesis 用于高级综合的机械化语义元语言
W. Harrison, Chris Hathhorn, G. Allwein
{"title":"A Mechanized Semantic Metalanguage for High Level Synthesis","authors":"W. Harrison, Chris Hathhorn, G. Allwein","doi":"10.1145/3479394.3479417","DOIUrl":"https://doi.org/10.1145/3479394.3479417","url":null,"abstract":"High-level synthesis (HLS) seeks to make hardware development more like software development by adapting ideas from programming languages to hardware description and HLS from functional languages is usually motivated as a means of bringing software-like productivity to hardware development. Formalized semantics support a range of important capabilities in software languages (e.g., compositionality, comprehensibility, interoperability, formal methods, and security) that are desirable in hardware languages as well. This paper considers the formalized semantics of the Device Calculus, a typed λ-calculus with operators for constructing Mealy machines that forms a semantic substratum suitable for high-level synthesis and we demonstrate the utility of the Device Calculus as a foundation for formal methods in functional HLS with a case study specifying the semantics of an idealized subset of the FIRRTL language. FIRRTL (“Flexible Internal Representation for RTL”) is an open-source hardware intermediate representation targeted by the Chisel hardware construction language and the semantics we present is also a starting point for exploring formal methods and security within both the Chisel toolchain and any other high-level synthesis flows that target FIRRTL.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131619149","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}
引用次数: 1
Static analysis of pattern-free properties 无模式属性的静态分析
Horatiu Cirstea, Pierre FJ Lermusiaux, Pierre-Etienne Moreau
{"title":"Static analysis of pattern-free properties","authors":"Horatiu Cirstea, Pierre FJ Lermusiaux, Pierre-Etienne Moreau","doi":"10.1145/3479394.3479404","DOIUrl":"https://doi.org/10.1145/3479394.3479404","url":null,"abstract":"Rewriting is a widely established formalism with major applications in computer science. It is indeed a staple of many formal verification applications as it is especially well suited to describe program semantics and transformations. In particular, constructor based term rewriting systems are generally used to illustrate the behaviour of functional programs. In the context of formal verification, it is often necessary to characterize the shape of the reducts of such rewrite systems and, in a typed context, the underlying type system provides syntactic guarantees on the form of these terms by exhibiting, among others, the constructor symbols that they can contain. On the other hand, when performing (program) transformations we often want to eliminate some symbols and, more generally, to ensure that some patterns are absent from the result of the transformation. We propose in this paper an approach to statically verify the absence of specified patterns from the reachable terms of constructor based term rewriting systems. The proposed approach consists in annotating the function symbols with a set of profiles outlining pre- and post-conditions that must be verified by the rewrite relation, and using a rewrite based method to statically verify that the rewrite system is indeed consistent with the respective annotations.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"120 18","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113944788","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 Decade of Dependent Session Types 依赖会话类型的十年
B. Toninho, Luís Caires, F. Pfenning
{"title":"A Decade of Dependent Session Types","authors":"B. Toninho, Luís Caires, F. Pfenning","doi":"10.1145/3479394.3479398","DOIUrl":"https://doi.org/10.1145/3479394.3479398","url":null,"abstract":"We begin this brief retrospective of our work by thanking the PPDP Steering Committee for awarding the “PPDP 10 Year Most Influential Paper Award” to our paper on dependent session types [22]. This abstract gives an account of the context that led to our 2011 paper, summarizes its key contributions and gives an (incomplete) account of the works that followed it and the remaining challenges in this space.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122320646","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
The Computational Structure of Programs and the Universe 程序和宇宙的计算结构
S. Wolfram
{"title":"The Computational Structure of Programs and the Universe","authors":"S. Wolfram","doi":"10.1145/3479394.3479397","DOIUrl":"https://doi.org/10.1145/3479394.3479397","url":null,"abstract":"I’ll talk about my emerging new foundational understanding of computation based on three large-scale projects: (1) Our recent Physics Project, which provides a fundamentally computational model for the low-level operation of our universe, (2) My long-time investigation of the typical behavior of simple programs (such as cellular automata, combinators, etc.) in the computational universe and (3) The long-time development of the Wolfram Language as a computational language to describe the world. I’ll describe my emerging concept of the multicomputational paradigm—and some of its implications for science, distributed computing, language design and the foundations of computation and mathematics.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"97 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134375040","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
Canonical proof-objects for coinductive programming: infinets with infinitely many cuts 协归纳规划的规范证明对象:具有无穷多切割的无穷大
A. De, L. Pellissier, A. Saurin
{"title":"Canonical proof-objects for coinductive programming: infinets with infinitely many cuts","authors":"A. De, L. Pellissier, A. Saurin","doi":"10.1145/3479394.3479402","DOIUrl":"https://doi.org/10.1145/3479394.3479402","url":null,"abstract":"Non-wellfounded and circular proofs have been recognised over the past decade as a valuable tool to study logics expressing (co)inductive properties, e.g. μ-calculi. Such proofs are non-wellfounded sequent derivations together with a global validity condition expressed in terms of progressing threads. While the cut-free fragment of circular proofs is satisfactory, cuts are poorly treated and the non-canonicity of sequent proofs becomes a major issue in the non-wellfounded setting. The present paper develops for (multiplicative linear logic with fixed points) the theory of infinets – proof-nets for non-wellfounded proofs. Our structures handles infinitely many cuts therefore solving a crucial shortcoming of the previous work [19]. We characterise correctness, define a more complete cut-reduction system and proving a cut-elimination theorem. To that end, we also provide an alternate cut reduction for non-wellfounded sequent calculus.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127201114","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
Causality Error Tracing in HipHop.js HipHop.js中的因果关系错误跟踪
Jayant Krishnamurthy, M. Serrano
{"title":"Causality Error Tracing in HipHop.js","authors":"Jayant Krishnamurthy, M. Serrano","doi":"10.1145/3479394.3479408","DOIUrl":"https://doi.org/10.1145/3479394.3479408","url":null,"abstract":"HipHop.js is a synchronous reactive DSL for JavaScript built on top of Hop.js. HipHop.js follows the model of perfect synchrony introduced in the Esterel programming language, this may lead to classical causality error cycles, which might be difficult to isolate and to fix. In this work, we discuss in detail the support for debugging causality errors in HipHop.js. First, we provide illustrative examples explaining the origin and formation of causality errors and the difficulties faced in debugging them. Then, we present the techniques and algorithms used to construct precise error messages that direct programmers to the source of errors. We illustrate the effectiveness of the proposed methods on a real world example. Recent reactive technologies and programming languages like FRP, ReactiveX, etc., used in game and GUI development too encounter causality errors, and we feel that our approach used in HipHop.js can help them in debugging in a better way.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114856119","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
Free Objects in Constraint-logic Object-oriented Programming 约束逻辑面向对象编程中的自由对象
Jan C. Dageförde, Hendrik Winkelmann, H. Kuchen
{"title":"Free Objects in Constraint-logic Object-oriented Programming","authors":"Jan C. Dageförde, Hendrik Winkelmann, H. Kuchen","doi":"10.1145/3479394.3479409","DOIUrl":"https://doi.org/10.1145/3479394.3479409","url":null,"abstract":"Constraint-logic object-oriented programming facilitates the integrated development of business software that occasionally solves constraint-logic problems or makes other use of structured search. So far, work in constraint-logic object-oriented programming has been limited to considering constraints that only involve logic variables of primitive types; in particular, boolean, integer, and floating-point numbers. However, the availability of object-oriented features calls for the option to use logic variables in lieu of objects as well. Therefore, support for reference-type logic variables (or free objects) is required. With the work at hand, we add support for free objects to a Java-based constraint-logic object-oriented language, Muli. Allowing free objects in statements and expressions results in novel interactions with objects at run time, for instance, non-deterministic execution of polymorphic method invocations (taking arbitrary class hierarchies into account) and non-deterministic type operations. At run time, this is supported by a dynamic type constraint that restricts the possible types of a free object at non-deterministic choices.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"119 1-2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120915848","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
Papaya: Global Typestate Analysis of Aliased Objects 番木瓜:别名对象的全局类型状态分析
Mathias Jakobsen, Alice Ravier, Ornela Dardha
{"title":"Papaya: Global Typestate Analysis of Aliased Objects","authors":"Mathias Jakobsen, Alice Ravier, Ornela Dardha","doi":"10.1145/3479394.3479414","DOIUrl":"https://doi.org/10.1145/3479394.3479414","url":null,"abstract":"Typestates are state machines used in object-oriented programming to specify and verify correct order of method calls on an object. To avoid inconsistent object states, typestates enforce linear typing, which eliminates—or at best limits—aliasing. However, aliasing is an important feature in programming, and the state-of-the-art on typestates is too restrictive if we want typestates to be adopted in real-world software systems. In this paper, we present a type system for an object-oriented language with typestate annotations, which allows for unrestricted aliasing, and as opposed to previous approaches it does not require linearity constraints. The typestate analysis is global and tracks objects throughout the entire program graph, which ensures that well-typed programs conform and complete the declared protocols. We implement our framework in the Scala programming language and illustrate our approach using a running example that shows the interplay between typestates and aliases.","PeriodicalId":242361,"journal":{"name":"23rd International Symposium on Principles and Practice of Declarative Programming","volume":"70 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125975652","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
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学术文献互助群
群 号:604180095
Book学术官方微信