Title: Memory Models for Programming Languages Abstract: While memory models have received much attention in the computer architecture community, they have received very little attention in the programming language and compiler community. Very few programming language specifications describe a memory consistency model. Compiler optimizations violate the rules of some memory models. Very weak memory models are not appropriate, because they do not specify the semantics of incorrectly synchronized programs. Since programs could be deliberately incorrectly synchronized in order to attach the security of a system, their semantics must be well defined. The Java programming language did provide a memory model, but that model has proven to be fatally flawed. I will discuss some of the issues in memory models for programming languages and efforts to devise a new memory model for Java.