The proceedings contain 68 papers. The topics discussed include: modular information flow through ownership;ANOSY: approximated knowledge synthesis with refinement types for declassification;hardening attack surfaces ...
ISBN:
(纸本)9781450392655
The proceedings contain 68 papers. The topics discussed include: modular information flow through ownership;ANOSY: approximated knowledge synthesis with refinement types for declassification;hardening attack surfaces with formally proven binary format parsers;turning manual concurrent memory reclamation into automatic reference counting;low-latency, high-throughput garbage collection;mako: a low-pause, high-throughput evacuating collector for memory-disaggregated datacenters;visualization question answering using introspective program synthesis;synthesizing analytical SQL queries from computation demonstration;sequential reasoning for optimizing compilers under weak memory concurrency;and can reactive synthesis and syntax-guided synthesis be friends?.
The proceedings contain 48 papers. The topics discussed include: adaptive input-aware compilation for graphics engines;and then there were none: a stall-free real-time garbage collector for reconfigurable hardware;the...
ISBN:
(纸本)9781450312059
The proceedings contain 48 papers. The topics discussed include: adaptive input-aware compilation for graphics engines;and then there were none: a stall-free real-time garbage collector for reconfigurable hardware;the implicit calculus: a new foundation for generic programming;deterministic parallelism via liquid effects;speculative linearizability;understanding and detecting real-world performance bugs;input-sensitive profiling;language-based control and mitigation of timing channels;Diderot: a parallel DSL for image analysis and visualization;synthesising graphics card programs from DSLs;Parcae: a system for flexible parallel execution;JANUS: exploiting parallelism via hindsight;reagents: expressing and composing fine-grained concurrency;and proving acceptability properties of relaxed nondeterministic approximate programs.
The proceedings contain 5 papers. The topics discussed include: TS4J: a fluent interface for defining and computing typestate analyses;a software product line for static analyses;dynamic slicing with soot;explicit and...
The proceedings contain 5 papers. The topics discussed include: TS4J: a fluent interface for defining and computing typestate analyses;a software product line for static analyses;dynamic slicing with soot;explicit and symbolic techniques for fast and scalable points-to analysis;and android taint flow analysis for app sets.
The proceedings contain 33 papers. The topics discussed include: real-time concurrent collection on stock multiprocessors;detecting conflicts between structure accesses;interprocedural slicing using dependence graphs;...
ISBN:
(纸本)0897912691
The proceedings contain 33 papers. The topics discussed include: real-time concurrent collection on stock multiprocessors;detecting conflicts between structure accesses;interprocedural slicing using dependence graphs;the program summary graph and flow-sensitive interprocedural data flow analysis;interprocedural side-effect analysis in linear time;register windows vs. register allocation;automatic generation of fast optimizing code generators;minimizing register usage penalty at procedure calls;anatomy of a hardware compiler;design and implementation of the UW illustrated compiler;DOC: a practical approach to source-level debugging of globally optimized code;a mechanism for efficient debugging of parallel programs;debugging concurrent processes: a case study;and an efficient approach to data flow analysis in a multiple pass global optimizer.
Efficient communication and synchronization is crucial for fine-grained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the...
详细信息
ISBN:
(纸本)9781450312059
Efficient communication and synchronization is crucial for fine-grained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the needs of specific users. We introduce reagents, a set of combinators for concisely expressing concurrency algorithms. Reagents scale as well as their hand-coded counterparts, while providing the composability existing libraries lack.
We propose a new language-based approach to mitigating timing channels. In this language, well-typed programs provably leak only a bounded amount of information over time through external timing channels. By incorpora...
详细信息
ISBN:
(纸本)9781450312059
We propose a new language-based approach to mitigating timing channels. In this language, well-typed programs provably leak only a bounded amount of information over time through external timing channels. By incorporating mechanisms for predictive mitigation of timing channels, this approach also permits a more expressive programming model. Timing channels arising from interaction with underlying hardware features such as instruction caches are controlled. Assumptions about the underlying hardware are explicitly formalized, supporting the design of hardware that efficiently controls timing channels. One such hardware design is modeled and used to show that timing channels can be controlled in some simple programs of real-world significance.
Over the last five years, graphics cards have become a tempting target for scientific computing, thanks to unrivaled peak performance, often producing a runtime speed-up of x10 to x25 over comparable CPU solutions. Ho...
详细信息
ISBN:
(纸本)9781450312059
Over the last five years, graphics cards have become a tempting target for scientific computing, thanks to unrivaled peak performance, often producing a runtime speed-up of x10 to x25 over comparable CPU solutions. However, this increase can be difficult to achieve, and doing so often requires a fundamental rethink. This is especially problematic in scientific computing, where experts do not want to learn yet another architecture. In this paper we develop a method for automatically parallelising recursive functions of the sort found in scientific papers. Using a static analysis of the function dependencies we identify sets - partitions - of independent elements, which we use to synthesise an efficient GPU implementation using polyhedral code generation techniques. We then augment our language with DSL extensions to support a wider variety of applications, and demonstrate the effectiveness of this with three case studies, showing significant performance improvement over equivalent CPU methods, and similar efficiency to hand-tuned GPU implementations.
languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous lowlevel details involving communication...
详细信息
Shared memory multithreading is a popular approach to parallel programming, but also fiendishly hard to get right. We present Liquid Effects, a type-and-effect system based on refinement types which allows for fine-gr...
详细信息
ISBN:
(纸本)9781450312059
Shared memory multithreading is a popular approach to parallel programming, but also fiendishly hard to get right. We present Liquid Effects, a type-and-effect system based on refinement types which allows for fine-grained, low-level, shared memory multithreading while statically guaranteeing that a program is deterministic. Liquid Effects records the effect of an expression as a formula in first-order logic, making our type-and-effect system highly expressive. Further, effects like Read and Write are recorded in Liquid Effects as ordinary uninterpreted predicates, leaving the effect system open to extension by the user. By building our system as an extension to an existing dependent refinement type system, our system gains precise value- and branch-sensitive reasoning about effects. Finally, our system exploits the Liquid Types refinement type inference technique to automatically infer refinement types and effects. We have implemented our type-and-effect checking techniques in CSOLVE, a refinement type inference system for C programs. We demonstrate how CSOLVE uses Liquid Effects to prove the determinism of a variety of benchmarks.
In this article we present a general method for achieving global static analyzers that are precise, sound, yet also scalable. Our method generalizes the sparse analysis techniques on top of the abstract interpretation...
详细信息
ISBN:
(纸本)9781450312059
In this article we present a general method for achieving global static analyzers that are precise, sound, yet also scalable. Our method generalizes the sparse analysis techniques on top of the abstract interpretation framework to support relational as well as non-relational semantics properties for C-like languages. We first use the abstract interpretation framework to have a global static analyzer whose scalability is unattended. Upon this underlying sound static analyzer, we add our generalized sparse analysis techniques to improve its scalability while preserving the precision of the underlying analysis. Our framework determines what to prove to guarantee that the resulting sparse version should preserve the precision of the underlying analyzer. We formally present our framework;we present that existing sparse analyses are all restricted instances of our framework;we show more semantically elaborate design examples of sparse non-relational and relational static analyses;we present their implementation results that scale to analyze up to one million lines of C programs. We also show a set of implementation techniques that turn out to be critical to economically support the sparse analysis process.
暂无评论