- Sponsor:
- sigplan
No abstract available.
Programming language methods in computer security
This invited talk will give a personal view of the field of computer security and summarize some ways that methods from the study of programming language principles can be applied to problems in computer security. Some background information is provided ...
Extensionality and intensionality of the ambient logics
The ambient logic has been proposed for expressing properties of process mobility in the calculus of Mobile Ambients (MA), and as a basis for query languages on semistructured data. To understand the extensionality and the intensionality of the logic, ...
BI as an assertion language for mutable data structures
Reynolds has developed a logic for reasoning about mutable data structures in which the pre- and postconditions are written in an intuitionistic logic enriched with a spatial form of conjunction. We investigate the approach from the point of view of the ...
Verifying safety properties of concurrent Java programs using 3-valued logic
We provide a parametric framework for verifying safety properties of concurrent Java programs. The framework combines thread-scheduling information with information about the shape of the heap. This leads to error-detection algorithms that are more ...
Colored local type inference
We present a type system for a language based on F≤, which allows certain type annotations to be elided in actual programs. Local type inference determines types by a combination of type propagation and local constraint solving, rather than by global ...
Type-base flow analysis: from polymorphic subtyping to CFL-reachability
We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subytping with instantiation constraints, we are able to apply context-free language (CFL) ...
Regular expression pattern matching for XML
We propose regular expression pattern matching as a core feature for programming languages for manipulating XML (and similar tree-structured data formats). We extend conventional pattern-matching facilities with regular expression operators such as ...
The size-change principle for program termination
The "size-change termination" principle for a first-order functional language with well-founded data is: a program terminates on all inputs if every infinite call sequence (following program control flow) would cause an infinite descent in some data ...
An abstract Monte-Carlo method for the analysis of probabilistic programs
We introduce a new method, combination of random testing and abstract interpretation, for the analysis of programs featuring both probabilistic and non-probabilistic nondeterminism. After introducing "ordinary" testing, we show how to combine testing ...
Mobile values, new names, and secure communication
We study the interaction of the "new" construct with a rich but common form of (first-order) communication. This interaction is crucial in security protocols, which are the main motivating examples for our work; it also appears in other programming-...
Nomadic pict: correct communication infrastructure for mobile computation
This paper addresses the design and verification of infrastructure for mobile computation. In particular, we study language primitives for communication between mobile agents. They can be classi ed into two groups. At a low level there are location ...
A generic type system for the Pi-calculus
We propose a general, powerful framework of type systems for the π-calculus, and show that we can obtain as its instances a variety of type systems guaranteeing non-trivial properties like deadlock-freedom and race-freedom. A key idea is to express ...
Oracle-based checking of untrusted software
We present a variant of Proof-Carrying Code (PCC) in which the trusted inference rules are represented as a higherorder logic program, the proof checker is replaced by a nondeterministic higher-order logic interpreter and the proof by an oracle ...
Stratified operational semantics for safety and correctness of the region calculus
The region analysis of Tofte and Talpin is an attempt to determine statically the life span of dynamically allocated objects. But the calculus is at once intuitively simple, yet deceptively subtle, and previous theoretical analyses have been ...
Type-preserving garbage collectors
By combining existing type systems with standard type-based compilation techniques, we describe how to write strongly typed programs that include a function that acts as a t racing garbage collector for the program. Since the garbage collector is an ...
A compiler technique for improving whole-program locality
Exploiting spatial and temporal locality is essential for obtaining high performance on modern computers. Writing programs that exhibit high locality of reference is difficult and error-prone. Compiler researchers have developed loop transformations ...
Avoiding exponential explosion: generating compact verification conditions
Current verification condition (VC) generation algorithms, such as weakest preconditions, yield a VC whose size may be exponential in the size of the code fragment being checked. This paper describes a two-stage VC generation algorithm that generates ...
What packets may come: automata for network monitoring
We consider the problem of monitoring an interactive device, such as an implementation of a network protocol, in order to check whether its execution is consistent with its specification. At rst glance, it appears that a monitor could simply follow the ...
Secure safe ambients
Secure Safe Ambients (SSA) are a typed variant of Safe Ambients [9], whose type system allows behavioral invariants of ambients to be expressed and verified. The most significant aspect of the type system is its ability to capture both explicit and ...
Modules, abstract types, and distributed versioning
In a wide-area distributed system it is often impractical to synchronise software updates, so one must deal with many coexisting versions. We study static typing support for modular wide-area programming, modelling separate compilation/linking and ...
Typing a multi-language intermediate code
The Microsoft .NET Framework is a new computing architecture designed to support a variety of distributed applications and web-based services. .NET software components are typically distributed in an object-oriented intermediate language, Microsoft IL, ...
Type-indexed rows
Record calculi use labels to distinguish between the elements of products and sums. This paper presents a novel variation, type-indexed rows, in which labels are discarded and elements are indexed by their type alone. The calculus, λTIR, can ...
Subtyping arithmetical types
We consider the type system formed by a finite set of primitive types such as integer, character, real, etc., and three type construction operators: (i) Cartesian product, (ii) disjoint sum, and (iii) recursive type definitions. Type equivalence is ...
Combining subsumption and binary methods: an object calculus with views
We presen t an object-oriented calculus whic hallows arbitrary hiding of methods in protot ypes, even in the presence of binary methods and friend functions. This combination of features permits complete control of the in terface a class exposes to the ...
Index Terms
- Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
POPL '15 | 227 | 52 | 23% |
POPL '14 | 220 | 51 | 23% |
POPL '04 | 176 | 29 | 16% |
POPL '03 | 126 | 24 | 19% |
POPL '02 | 128 | 28 | 22% |
POPL '01 | 126 | 24 | 19% |
POPL '00 | 151 | 30 | 20% |
POPL '99 | 136 | 24 | 18% |
POPL '98 | 175 | 32 | 18% |
POPL '97 | 225 | 36 | 16% |
POPL '96 | 148 | 34 | 23% |
POPL '94 | 173 | 39 | 23% |
POPL '93 | 199 | 39 | 20% |
POPL '92 | 204 | 30 | 15% |
POPL '91 | 152 | 31 | 20% |
POPL '89 | 191 | 30 | 16% |
POPL '88 | 177 | 28 | 16% |
POPL '87 | 108 | 29 | 27% |
POPL '83 | 170 | 28 | 16% |
POPL '82 | 121 | 38 | 31% |
POPL '81 | 121 | 24 | 20% |
POPL '79 | 146 | 27 | 18% |
POPL '78 | 135 | 27 | 20% |
POPL '77 | 105 | 25 | 24% |
POPL '76 | 90 | 20 | 22% |
POPL '75 | 100 | 23 | 23% |
POPL '73 | 100 | 22 | 22% |
Overall | 4,130 | 824 | 20% |