2,199 papers · page 49 of 110
Thomas H. Austin, Cormac Flanagan
JavaScript has become a central technology of the web, but it is also the source of many security problems, including cross-site scripting attacks and malicious advertising code. Central to these problems is the fact that code from untrusted sources runs with full privileges. We …
Thibaut Balabonski
We give an axiomatic presentation of sharing-via-labelling for weak lambda-calculi, that makes it possible to formally compare many different approaches to fully lazy sharing, and obtain two important results. We prove that the known implementations of full laziness are all equiv…
Gilles Barthe, Boris Köpf, Federico Olmedo, Santiago Zanella-Béguelin
Differential privacy is a notion of confidentiality that protects the privacy of individuals while allowing useful computations on their private data. Deriving differential privacy guarantees for real programs is a difficult and error-prone task that calls for principled approach…
Samik Basu, Tevfik Bultan, Meriem Ouederni
Since software systems are becoming increasingly more concurrent and distributed, modeling and analysis of interactions among their components is a crucial problem. In several application domains, message-based communication is used as the interaction mechanism, and the communica…
Mark Batty, Kayvan Memarian, Scott Owens, Susmit Sarkar, Peter Sewell
The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in the form of a subtle *relaxed memory model* (the *C++11 model*). This aims to permit compiler optimisation and to accommodate the differing relaxed-memory behaviours of mainstream mu…
Sooraj Bhat, Ashish Agarwal, Richard W. Vuduc, Alexander G. Gray
There has been great interest in creating probabilistic programming languages to simplify the coding of statistical tasks; however, there still does not exist a formal language that simultaneously provides (1) continuous probability distributions, (2) the ability to naturally exp…
Andrew P. Black, Peter W. O'Hearn
No abstract available.
Mikolaj Bojanczyk, Laurent Braud, Bartek Klin, Slawomir Lasota
Nominal sets are a different kind of set theory, with a more relaxed notion of finiteness. They offer an elegant formalism for describing lambda-terms modulo alpha-conversion, or automata on data words. This paper is an attempt at defining computation in nominal sets. We present …
Matko Botincan, Mike Dodds, Suresh Jagannathan
We present an analysis which takes as its input a sequential program, augmented with annotations indicating potential parallelization opportunities, and a sequential proof, written in separation logic, and produces a correctly-synchronized parallelized program and proof of that p…
Ahmed Bouajjani, Michael Emmi
We propose a general formal model of isolated hierarchical parallel computations, and identify several fragments to match the concurrency constructs present in real-world programming languages such as Cilk and X10. By associating fundamental formal models (vector addition systems…
Andrew Cave, Brigitte Pientka
We show how to combine a general purpose type system for an existing language with support for programming with binders and contexts by refining the type system of ML with a restricted form of dependent types where index objects are drawn from contextual LF. This allows the user …
Ravi Chugh, Patrick Maxim Rondon, Ranjit Jhala
Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond the reach of type systems that employ either purely syntactic or purely semantic reasoning. We presen…
Patrick Cousot, Radhia Cousot
Proof, verification and analysis methods for termination all rely on two induction principles: (1) a variant function or induction on data ensuring progress towards the end and (2) some form of induction on the program structure. The abstract interpretation design principle is fi…
Julien Cretin, Didier Rémy
Erasable coercions in System F-eta, also known as retyping functions, are well-typed eta-expansions of the identity. They may change the type of terms without changing their behavior and can thus be erased before reduction. Coercions in F-eta can model subtyping of known types an…
Chucky Ellison, Grigore Rosu
This paper describes an executable formal semantics of C. Being executable, the semantics has been thoroughly tested against the GCC torture test suite and successfully passes 99.2% of 776 test programs. It is the most complete and thoroughly tested formal definition of C to date…
Azadeh Farzan, Zachary Kincaid
In this paper, we consider the problem of verifying thread-state properties of multithreaded programs in which the number of active threads cannot be statically bounded. Our approach is based on decomposing the task into two modules, where one reasons about data and the other rea…
Philippa Gardner, Sergio Maffeis, Gareth David Smith
JavaScript has become the most widely used language for client-side web programming. The dynamic nature of JavaScript makes understanding its code notoriously difficult, leading to buggy programs and a lack of adequate static-analysis tools. We believe that logical reasoning has …
Phillip Heidegger, Annette Bieniusa, Peter Thiemann
The ideal software contract fully specifies the behavior of an operation. Often, in particular in the context of scripting languages, a full specification may be cumbersome to state and may not even be desired. In such cases, a partial specification, which describes selected aspe…
Tony Hoare
Share on Message of thanks: on the receipt of the 2011 ACM SIGPLAN distinguished achievement award Author: Tony Hoare Microsoft Research, Cambridge, United Kingdom Microsoft Research, Cambridge, United KingdomView Profile Authors Info & Claims POPL '12: Proceedings of the 39th an…
Krystof Hoder, Laura Kovács, Andrei Voronkov
Interpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invariant generation and bounded model checking. A number of recent papers studies interpolation in various…