Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming最新文献

筛选
英文 中文
Enhancing the specification and verification techniques of multiparty sessions in SOC 改进SOC中多方会话的规范和验证技术
Abeer S. Al-Humaimeedy, M. Fernández
{"title":"Enhancing the specification and verification techniques of multiparty sessions in SOC","authors":"Abeer S. Al-Humaimeedy, M. Fernández","doi":"10.1145/2790449.2790515","DOIUrl":"https://doi.org/10.1145/2790449.2790515","url":null,"abstract":"The Service Oriented Computing (SOC) paradigm is based on service composition, that is, loosely coupled autonomous heterogeneous services, which are collectively composed to implement a particular task. This paper presents a new calculus, called sbCSP, for SOC within the framework of CSP process algebra, showing how services can be defined, invoked, orchestrated and terminated within session hierarchies. We provide operational and denotational trace semantics for the new calculus, and discuss the relationship between the two semantics. We have implemented the extended calculus in FDR (the CSP model checker) and we have used it in a case study to illustrate the expressivity and simplicity of the session model and its reasoning techniques.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"99 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123054645","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
On a uniform representation of combinators, arithmetic, lambda terms and types 关于组合子、算术、lambda项和类型的统一表示
Paul Tarau
{"title":"On a uniform representation of combinators, arithmetic, lambda terms and types","authors":"Paul Tarau","doi":"10.1145/2790449.2790526","DOIUrl":"https://doi.org/10.1145/2790449.2790526","url":null,"abstract":"A uniform representation, as binary trees with empty leaves, is given to expressions built with Rosser's X-combinator, natural numbers, lambda terms and simple types. Type inference, normalization of combinator expressions and lambda terms in de Bruijn notation, ranking/unranking algorithms and tree-based natural numbers are described as a literate Prolog program. With sound unification and compact expression of combinatorial generation algorithms, logic programming is shown to conveniently host a declarative playground where interesting properties and behaviors emerge from the interaction of heterogenous but deeply connected computational objects.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"265 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125810668","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}
引用次数: 13
Jthread, a deadlock-free mutex library Jthread,一个无死锁的互斥锁库
J. Grande, G. Boudol, M. Serrano
{"title":"Jthread, a deadlock-free mutex library","authors":"J. Grande, G. Boudol, M. Serrano","doi":"10.1145/2790449.2790523","DOIUrl":"https://doi.org/10.1145/2790449.2790523","url":null,"abstract":"We design a mutex library for Hop -- a dialect of Scheme which supports preemptive multithreading and shared memory -- that mixes deadlock prevention and deadlock avoidance to provide an easy to use, expressive, and safe locking function. This requires an operation to acquire several mutexes simultaneously, for which we provide a starvation-free algorithm. Choosing a formal definition of starvation-freedom leads us to identify the concept of asymptotic deadlock. Preliminary observations seem to show that our library has negligible impact on the performance of real-life applications. Our work could be applied to other languages such as Java.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126771860","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
Automatic amortized analysis 自动平摊分析
M. Hofmann
{"title":"Automatic amortized analysis","authors":"M. Hofmann","doi":"10.1145/2790449.2790450","DOIUrl":"https://doi.org/10.1145/2790449.2790450","url":null,"abstract":"We summarise the state of the art in automatic amortized resource analysis. We then focus on some recent applications to term rewriting with G. Moser and conclude with open problems and questions.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121816763","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
A refined operational semantics for ACT-R: investigating the relations between different ACT-R formalizations 改进ACT-R的操作语义:研究不同ACT-R形式化之间的关系
Daniel Gall, Thom W. Frühwirth
{"title":"A refined operational semantics for ACT-R: investigating the relations between different ACT-R formalizations","authors":"Daniel Gall, Thom W. Frühwirth","doi":"10.1145/2790449.2790517","DOIUrl":"https://doi.org/10.1145/2790449.2790517","url":null,"abstract":"The popular cognitive architecture ACT-R is used in many cognitive models to explain cognitive features of human-beings. It has a well-defined psychological theory but lacks a formalization of its underlying computational system. This lack allows for technical ad-hoc artifacts in the original reference implementation. More importantly, formal analysis of cognitive models is not possible without a well-defined semantics. In prior work we have defined an abstract operational semantics for ACT-R's production system that is suitable for model analysis. It abstracts from details like timings and conflict resolution methods. However, to describe the behavior of ACT-R implementations a more refined semantics is needed. In this paper, we first introduce a new very abstract operational semantics for ACT-R that serves as formal base to compare different semantics. We define an improved version of the abstract semantics as an instance of our new very abstract semantics. Furthermore, we present a more refined operational semantics that also captures details from actual ACT-R implementations. We show that the refined semantics is sound w.r.t. the abstract semantics. This makes model analysis with the abstract semantics suitable for real-world ACT-R models.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125547804","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}
引用次数: 6
A devil's advocate against termination of direct recursion 反对直接递归终止的魔鬼拥护者
Thom W. Frühwirth
{"title":"A devil's advocate against termination of direct recursion","authors":"Thom W. Frühwirth","doi":"10.1145/2790449.2790518","DOIUrl":"https://doi.org/10.1145/2790449.2790518","url":null,"abstract":"A devil's advocate is one who argues against a claim, not as a committed opponent but in order to determine the validity of the claim. We are interested in a devil's advocate that argues against termination of a program. He does so by producing a maleficent program that can cause the non-termination of the original program. By inspecting and running the malicious program, one may gain insight into the potential reasons for non-termination and produce counterexamples for termination. We introduce our method in the concurrent programming language Constraint Handling Rules (CHR). Like in other declarative languages, non-termination occurs through unbounded recursion. Given a self-recursive rule, we automatically generate one or more devil's rules from it. The construction of the devil's rules is straight-forward and involves no guessing. The devil's rules can be simple. For example, they are non-recursive for rules with single recursion. We show that the devil's rules are maximally vicious in the following sense: For any program that contains the self-recursive rule and for any infinite computation through that rule in that program, there is a corresponding infinite computation with the recursive rule and the devil's rules alone. In that case, the malicious rules serve as a finite witness for non-termination. On the other hand, if the devil's rules do not exhibit an infinite computation, the recursive rule is unconditionally terminating. We also identify cases where the static analysis of the devil's rule decides termination or non-termination of the recursive rule.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131555092","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}
引用次数: 5
Detecting concurrency bugs in higher-order programs through abstract interpretation 通过抽象解释检测高阶程序中的并发错误
Quentin Stiévenart, Jens Nicolay, W. Meuter, Coen De Roover
{"title":"Detecting concurrency bugs in higher-order programs through abstract interpretation","authors":"Quentin Stiévenart, Jens Nicolay, W. Meuter, Coen De Roover","doi":"10.1145/2790449.2790530","DOIUrl":"https://doi.org/10.1145/2790449.2790530","url":null,"abstract":"Manually detecting bugs in concurrent programs is hard due to the myriad of thread interleavings that needs to be accounted for. Higher-order programming features only exacerbate this difficulty. The need for tool support therefore increases as these features become more widespread. We investigate the P(CEK*)S abstract machine as the foundation for tool support for detecting concurrency bugs. This abstract interpreter analyzes multi-threaded, higher-order programs with shared-store concurrency and a compare-and-swap synchronization primitive. In this paper, we evaluate two different approaches to reduce the size of the state space explored by the abstract interpreter. First, we integrate abstract garbage collection into the abstract interpreter, and we observe that it does not reduce the state space as expected. We then evaluate the impact of adding first-class support for locks on the machine's client analyses. To this end, we compare a cas-based and a lock-based formulation of race condition and deadlock detection analyses. We show that adding first-class support for locks not only significantly reduces the number of abstract program states that need to be explored, but also simplifies formulating the client analyses.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128275500","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}
引用次数: 5
Verification by abstract interpretation, soundness and abstract induction 通过抽象解释、合理性和抽象归纳进行验证
P. Cousot
{"title":"Verification by abstract interpretation, soundness and abstract induction","authors":"P. Cousot","doi":"10.1145/2790449.2790451","DOIUrl":"https://doi.org/10.1145/2790449.2790451","url":null,"abstract":"Automatic program verification tools have to cope with programming language and machine semantics, undecidability, and mathematical induction, and so are all complex and imperfect. The ins and outs of automatic program verification will be discussed in light of the theory and practice of abstract interpretation [18, 19, 22].","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126134946","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
Concolic testing for functional languages 函数式语言的集合测试
Aggelos Giantsios, N. Papaspyrou, Konstantinos Sagonas
{"title":"Concolic testing for functional languages","authors":"Aggelos Giantsios, N. Papaspyrou, Konstantinos Sagonas","doi":"10.1145/2790449.2790519","DOIUrl":"https://doi.org/10.1145/2790449.2790519","url":null,"abstract":"Concolic testing is a software testing technique combining concrete execution of a program (given specific input, along specific paths) with symbolic execution (generating new test inputs that give better path coverage than random test case generation). Concolic testing has so far been applied, mainly at the level of bytecode or assembly code, to programs written in imperative languages that manipulate primitive data types such as integers and arrays. In this paper, we demonstrate its application to a functional programming language core, a subset of the core language of Erlang, that supports pattern matching, structured recursive data types such as lists, recursion and higher-order functions. Moreover, we present CutEr, a tool implementing this testing technique. We describe CutEr's architecture, the challenges that need to be addressed by such a tool, its current limitations, and report some experiences from its use.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"122 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122604597","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}
引用次数: 31
On modeling planning problems in tabled logic programming 表逻辑规划中的建模规划问题
R. Barták, A. Dovier, Neng-Fa Zhou
{"title":"On modeling planning problems in tabled logic programming","authors":"R. Barták, A. Dovier, Neng-Fa Zhou","doi":"10.1145/2790449.2790521","DOIUrl":"https://doi.org/10.1145/2790449.2790521","url":null,"abstract":"Current research in planning focuses mainly on so called domain independent models using the Planning Domain Description Language (PDDL) as the domain modeling language. This declarative modeling approach embraces the idea of a physics-only model describing how actions change the world. However, PDDL omits information about why and when the actions should be applied to reach the goal, which significantly decreases the practical applicability of PDDL. There exist approaches such as Hierarchical Task Networks (HTN) and control rules that add this type of information to the model with the pay-off of increased efficiency but also with the downside of increased complexity and code sizes. In this paper we propose a modeling framework for planning problems based on tabled logic programming that exploits a planner module in the Picat language. This modeling framework supports structured description of world states as well as inclusion of control knowledge and heuristics in the action model. By using problems from the International Planning Competition, we experimentally demonstrate that this modeling framework achieves results comparable to planners with control rules and HTN while keeping the size of the domain model much smaller. We also show that it gives much better solving efficiency than the state-of-the-art domain-independent PDDL planners.","PeriodicalId":445788,"journal":{"name":"Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130079518","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}
引用次数: 15
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学术官方微信