The Pernambuco School on Software Engineering (PSSE) 2004 was the ?rst in a series of events devoted to the study of advanced computer science and to the promotion of international scienti?c collaboration. The main theme in 2004 was re?nement (or rei?cation). Re?nement describes the veri?able relationship between a speci?cation and its implementation; it also describes the process of discoveringappropriateimplementations,givena speci?cation.Thus,in oneway or another, re?nement is at the heart of the programming process, and so is the major daily activity of everyprofessionalsoftwareengineer. The Summer School and its proceedings were intended to give a detailed tutorial introduction to the scienti?c basis of this activity. These proceedings record the contributions from the invited lecturers. Each chapter is the result of a thorough revision of the initial notes provided to the participants of the school. The revision was inspired by the synergy generated by the opportunity for the lecturers to present and discuss their work among themselves, and with the school’s attendees. The editors have tried to produce a coherent view of the topic by harmonizing these contributions, smoothing out di?erences in notation and approach, and providing links between the lectures. We apologize to the authors for any errors introduced by our extensive editing. Although the chapters are linked in severalways, each one is su?ciently se- contained to be read in isolation. Nevertheless, Chap. 1 should be read ?rst by those interested in an introduction to re?nement.