Sciweavers

POPL
2009
ACM
15 years 15 days ago
Equality saturation: a new approach to optimization
Optimizations in a traditional compiler are applied sequentially, with each optimization destructively modifying the program to produce a transformed program that is then passed t...
Ross Tate, Michael Stepp, Zachary Tatlock, Sorin L...
POPL
2009
ACM
15 years 15 days ago
A foundation for flow-based program matching: using temporal logic and model checking
Damien Doligez, Gilles Muller, Julia L. Lawall, Ju...
POPL
2009
ACM
15 years 15 days ago
The semantics of x86-CC multiprocessor machine code
Multiprocessors are now dominant, but real multiprocessors do not provide the sequentially consistent memory that is assumed by most work on semantics and verification. Instead, t...
Susmit Sarkar, Peter Sewell, Francesco Zappa Narde...
POPL
2009
ACM
15 years 15 days ago
A calculus of atomic actions
We present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory concurrent programs. The key idea in our approach is...
Tayfun Elmas, Shaz Qadeer, Serdar Tasiran
POPL
2009
ACM
15 years 15 days ago
Proving that non-blocking algorithms don't block
A concurrent data-structure implementation is considered nonblocking if it meets one of three following liveness criteria: waitfreedom, lock-freedom, or obstruction-freedom. Devel...
Alexey Gotsman, Byron Cook, Matthew J. Parkinson, ...
POPL
2009
ACM
15 years 15 days ago
A cost semantics for self-adjusting computation
Self-adjusting computation is an evaluation model in which programs can respond efficiently to small changes to their input data by using a change-propagation mechanism that updat...
Ruy Ley-Wild, Umut A. Acar, Matthew Fluet
POPL
2009
ACM
15 years 15 days ago
The semantics of progress in lock-based transactional memory
Transactional memory (TM) is a promising paradigm for concurrent programming. Whereas the number of TM implementations is growing, however, little research has been conducted to p...
Rachid Guerraoui, Michal Kapalka
POPL
2009
ACM
15 years 15 days ago
Lazy evaluation and delimited control
The call-by-need lambda calculus provides an equational framework for reasoning syntactically about lazy evaluation. This paper examines its operational characteristics. By a seri...
Ronald Garcia, Andrew Lumsdaine, Amr Sabry
POPL
2009
ACM
15 years 15 days ago
Semi-sparse flow-sensitive pointer analysis
Pointer analysis is a prerequisite for many program analyses, and the effectiveness of these analyses depends on the precision of the pointer information they receive. Two major a...
Ben Hardekopf, Calvin Lin
POPL
2009
ACM
15 years 15 days ago
Masked types for sound object initialization
This paper presents a type-based solution to the long-standing problem of object initialization. Constructors, the conventional mechanism for object initialization, have semantics...
Xin Qi, Andrew C. Myers