Summit on Advances in Programming Languages最新文献

筛选
英文 中文
What is a Secure Programming Language? 什么是安全编程语言?
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2019.3
C. Cifuentes, G. Bierman
{"title":"What is a Secure Programming Language?","authors":"C. Cifuentes, G. Bierman","doi":"10.4230/LIPIcs.SNAPL.2019.3","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2019.3","url":null,"abstract":"Our most sensitive and important software systems are written in programming languages that are inherently insecure, making the security of the systems themselves extremely challenging. It is often said that these systems were written with the best tools available at the time, so over time with newer languages will come more security. But we contend that all of today’s mainstream programming languages are insecure, including even the most recent ones that come with claims that they are designed to be “secure”. Our real criticism is the lack of a common understanding of what “secure” might mean in the context of programming language design. We propose a simple data-driven definition for a secure programming language: that it provides first-class language support to address the causes for the most common, significant vulnerabilities found in real-world software. To discover what these vulnerabilities actually are, we have analysed the National Vulnerability Database and devised a novel categorisation of the software defects reported in the database. This leads us to propose three broad categories, which account for over 50% of all reported software vulnerabilities, that as a minimum any secure language should address. While most mainstream languages address at least one of these categories, interestingly, we find that none address all three. Looking at today’s real-world software systems, we observe a paradigm shift in design and implementation towards service-oriented architectures, such as microservices. Such systems consist of many fine-grained processes, typically implemented in multiple languages, that communicate over the network using simple web-based protocols, often relying on multiple software environments such as databases. In traditional software systems, these features are the most common locations for security vulnerabilities, and so are often kept internal to the system. In microservice systems, these features are no longer internal but external, and now represent the attack surface of the software system as a whole. The need for secure programming languages is probably greater now than it has ever been.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114839213","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
Go Meta! A Case for Generative Programming and DSLs in Performance Critical Systems 去元!性能关键系统中生成式编程和dsl的案例
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.238
Tiark Rompf, Kevin J. Brown, HyoukJoong Lee, Arvind K. Sujeeth, Manohar Jonnalagedda, Nada Amin, Georg Ofenbeck, A. Stojanov, Yannis Klonatos, Mohammad Dashti, Christoph E. Koch, Markus Püschel, K. Olukotun
{"title":"Go Meta! A Case for Generative Programming and DSLs in Performance Critical Systems","authors":"Tiark Rompf, Kevin J. Brown, HyoukJoong Lee, Arvind K. Sujeeth, Manohar Jonnalagedda, Nada Amin, Georg Ofenbeck, A. Stojanov, Yannis Klonatos, Mohammad Dashti, Christoph E. Koch, Markus Püschel, K. Olukotun","doi":"10.4230/LIPIcs.SNAPL.2015.238","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.238","url":null,"abstract":"Most performance critical software is developed using very low-level techniques. We argue that this needs to change, and that generative programming is an effective avenue to enable the use of high-level languages and programming techniques in many such circumstances.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123634263","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}
引用次数: 30
Yedalog: Exploring Knowledge at Scale Yedalog:大规模探索知识
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.63
Brian Chin, D. V. Dincklage, V. Ercegovac, Peter Hawkins, Mark S. Miller, F. Och, Christopher Olston, Fernando C Pereira
{"title":"Yedalog: Exploring Knowledge at Scale","authors":"Brian Chin, D. V. Dincklage, V. Ercegovac, Peter Hawkins, Mark S. Miller, F. Och, Christopher Olston, Fernando C Pereira","doi":"10.4230/LIPIcs.SNAPL.2015.63","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.63","url":null,"abstract":"With huge progress on data processing frameworks, human programmers are frequently the bottleneck when analyzing large repositories of data. We introduce Yedalog, a declarative programming language that allows programmers to mix data-parallel pipelines and computation seamlessly in a single language. By contrast, most existing tools for data-parallel computation embed a sublanguage of data-parallel pipelines in a general-purpose language, or vice versa. Yedalog extends Datalog, incorporating not only computational features from logic programming, but also features for working with data structured as nested records. Yedalog programs can run both on a single machine, and distributed across a cluster in batch and interactive modes, allowing programmers to mix dierent modes of execution easily. 1998 ACM Subject Classification D.3.2 Data-flow languages, Constraint and Logic Languages","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129727994","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}
引用次数: 33
A Tour of Gallifrey, a Language for Geodistributed Programming 加利弗里之旅,一种地理分布编程语言
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2019.11
Mae Milano, Rolph Recto, Tom Magrino, A. Myers
{"title":"A Tour of Gallifrey, a Language for Geodistributed Programming","authors":"Mae Milano, Rolph Recto, Tom Magrino, A. Myers","doi":"10.4230/LIPIcs.SNAPL.2019.11","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2019.11","url":null,"abstract":"Programming efficient distributed, concurrent systems requires new abstractions that go beyond traditional sequential programming. But programmers already have trouble getting sequential code right, so simplicity is essential. The core problem is that low-latency, high-availability access to data requires replication of mutable state. Keeping replicas fully consistent is expensive, so the question is how to expose asynchronously replicated objects to programmers in a way that allows them to reason simply about their code. We propose an answer to this question in our ongoing work designing a new language, Gallifrey, which provides orthogonal replication through restrictions with merge strategies , contingencies for conflicts arising from concurrency, and branches , a novel concurrency control construct inspired by version control, to contain provisional behavior","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125088538","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
Title, Table of Contents, Preface, List of Authors 标题,目录,前言,作者名单
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.i
Thomas M. Ball, R. Bodík, S. Krishnamurthi, Benjamin S. Lerner, Greg Morriset
{"title":"Title, Table of Contents, Preface, List of Authors","authors":"Thomas M. Ball, R. Bodík, S. Krishnamurthi, Benjamin S. Lerner, Greg Morriset","doi":"10.4230/LIPIcs.SNAPL.2015.i","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.i","url":null,"abstract":"","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114138569","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 Theory AB Toolbox AB理论工具箱
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.129
Marco Gaboardi, Justin Hsu
{"title":"A Theory AB Toolbox","authors":"Marco Gaboardi, Justin Hsu","doi":"10.4230/LIPIcs.SNAPL.2015.129","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.129","url":null,"abstract":"Randomized algorithms are a staple of the theoretical computer science literature. By careful use of randomness, algorithms can achieve properties that are simply not possible with deterministic algorithms. Today, these properties are proved on paper, by theoretical computer scientists; we investigate formally verifying these proofs. \u0000 \u0000The main challenges are two: proofs about algorithms can be quite complex, using various facts from probability theory; and proofs are highly customized - two proofs of the same property for two algorithms can be completely different. To overcome these challenges, we propose taking inspiration from paper proofs, by building common tools - abstractions, reasoning principles, perhaps even notations - into a formal verification toolbox. To give an idea of our approach, we consider three common patterns in paper proofs: the union bound, concentration bounds, and martingale arguments.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129403396","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
Taming the Static Analysis Beast 驯服静态分析野兽
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2017.18
J. Toman, D. Grossman
{"title":"Taming the Static Analysis Beast","authors":"J. Toman, D. Grossman","doi":"10.4230/LIPIcs.SNAPL.2017.18","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2017.18","url":null,"abstract":"While industrial-strength static analysis over large, real-world codebases has become commonplace, so too have difficult-to-analyze language constructs, large libraries, and popular frameworks. These features make constructing and evaluating a novel, sound analysis painful, error-prone, and tedious. We motivate the need for research to address these issues by highlighting some of the many challenges faced by static analysis developers in today's software ecosystem. We then propose our short- and long-term research agenda to make static analysis over modern software less burdensome.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129837259","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}
引用次数: 20
Coupling Memory and Computation for Locality Management 局部性管理的耦合内存和计算
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.1
Umut A. Acar, G. Blelloch, M. Fluet, Stefan K. Muller, R. Raghunathan
{"title":"Coupling Memory and Computation for Locality Management","authors":"Umut A. Acar, G. Blelloch, M. Fluet, Stefan K. Muller, R. Raghunathan","doi":"10.4230/LIPIcs.SNAPL.2015.1","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.1","url":null,"abstract":"We articulate the need for managing (data) locality automatically rather than leaving it to the programmer, especially in parallel programming systems. To this end, we propose techniques for coupling tightly the computation (including the thread scheduler) and the memory manager so that data and computation can be positioned closely in hardware. Such tight coupling of computation and memory management is in sharp contrast with the prevailing practice of considering each in isolation. For example, memory-management techniques usually abstract the computation as an unknown \"mutator\", which is treated as a \"black box\". As an example of the approach, in this paper we consider a specific class of parallel computations, nested-parallel computations. Such computations dynamically create a nesting of parallel tasks. We propose a method for organizing memory as a tree of heaps reflecting the structure of the nesting. More specifically, our approach creates a heap for a task if it is separately scheduled on a processor. This allows us to couple garbage collection with the structure of the computation and the way in which it is dynamically scheduled on the processors. This coupling enables taking advantage of locality in the program by mapping it to the locality of the hardware. For example for improved locality a heap can be garbage collected immediately after its task finishes when the heap contents is likely in cache.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126853196","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
InterPoll: Crowd-Sourced Internet Polls InterPoll:众包网络民意调查
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2015.156
B. Livshits, Todd Mytkowicz
{"title":"InterPoll: Crowd-Sourced Internet Polls","authors":"B. Livshits, Todd Mytkowicz","doi":"10.4230/LIPIcs.SNAPL.2015.156","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2015.156","url":null,"abstract":"Crowd-sourcing is increasingly being used to provide answers to online polls and surveys. However, existing systems, while taking care of the mechanics of attracting crowd workers, poll building, and payment, provide little to help the survey-maker or pollster in obtaining statistically significant results devoid of even the obvious selection biases. \u0000 \u0000This paper proposes InterPoll, a platform for programming of crowd-sourced polls. Pollsters express polls as embedded LINQ queries and the runtime correctly reasons about uncertainty in those polls, only polling as many people as required to meet statistical guarantees. To optimize the cost of polls, InterPoll performs query optimization, as well as bias correction and power analysis. The goal of InterPoll is to provide a system that can be reliably used for research into marketing, social and political science questions. \u0000 \u0000This paper highlights some of the existing challenges and how InterPoll is designed to address most of them. \u0000 \u0000In this paper we summarize some of the work we have already done and give an outline for future work.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129645427","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
Let's Fix OpenGL 让我们修复OpenGL
Summit on Advances in Programming Languages Pub Date : 1900-01-01 DOI: 10.4230/LIPIcs.SNAPL.2017.14
Adrian Sampson
{"title":"Let's Fix OpenGL","authors":"Adrian Sampson","doi":"10.4230/LIPIcs.SNAPL.2017.14","DOIUrl":"https://doi.org/10.4230/LIPIcs.SNAPL.2017.14","url":null,"abstract":"From windowing systems to virtual reality, real-time graphics code is ubiquitous. Programming models for constructing graphics software, however, have largely escaped the attention of programming languages researchers. This essay introduces the programming model of OpenGL, a ubiquitous API for real-time graphics applications, for a language-oriented audience. It highlights six broad problems with the programming model and connects them to traditions in PL research. The issues range from classic pitfalls, where established thinking can apply, to new open problems, where novel research is needed.","PeriodicalId":231548,"journal":{"name":"Summit on Advances in Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122070143","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
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学术官方微信