POPL 2009
39 papers
- A calculus of atomic actions
- A combination framework for tracking partition sizes
- A cost semantics for self-adjusting computation
- A foundation for flow-based program matching: using temporal logic and model checking
- A model of cooperative threads
- Automated verification of practical garbage collectors
- Automatic modular abstractions for linear constraints
- Bidirectionalization for free! (Pearl)
- Classical BI: a logic for reasoning about dualising resources
- Compositional shape analysis by means of bi-abduction
- Copy-on-write in the PHP language
- Equality saturation: a new approach to optimization
- Feedback-directed barrier optimization in a strongly isolated STM
- Flexible types: robust type inference for first-class polymorphism
- Focusing on pattern matching
- Formal certification of code-based cryptographic proofs
- Language constructs for transactional memory
- Lazy evaluation and delimited control
- Linear types for computational effects
- Local rely-guarantee reasoning
- Masked types for sound object initialization
- Modeling abstract types in modules with open existential types
- Modular code generation from synchronous block diagrams: modularity vs. code size
- Positive supercompilation for a higher order call-by-value language
- Proving that non-blocking algorithms don't block
- Relaxed memory models: an operational approach
- SPEED: precise and efficient static estimation of program computational complexity
- Semi-sparse flow-sensitive pointer analysis
- State-dependent representation independence
- Static contract checking for Haskell
- The semantics of progress in lock-based transactional memory
- The semantics of x86-CC multiprocessor machine code
- The theory of deadlock avoidance via discrete control
- The third homomorphism theorem on trees: downward & upward lead to divide-and-conquer
- Types and higher-order recursion schemes for verification of higher-order programs
- Unifying type checking and property checking for low-level code
- Verifying distributed systems: the operational approach
- Verifying liveness for asynchronous programs
- Wild control operators