All the material used in this course has been taken from a number of books and papers, which are listed in this webpage. Each group of slides cites, on its first page, the sources that have been used in its conception. By clicking on the image of the book, or paper, you will be redirected to a webpage providing further information about that material.
|
|
wave propagation and deep propagation for pointer analysis: this paper discuss the wave propagation algorithm that we use in the lecture about pointer analysis. It also contains a brief, yet illustrative, discussion about pointer analysis in general. |
|
|
Parameterized Construction of Program Representations for Sparse Dataflow Analyses: this paper describes a general way to build program representations for sparse data-flow analyses. Each of these program representations ensures that the information associated with a variable is unique along this variable's entire live range. |
|
|
A Survey on Register Allocation: This paper provides an overview of some of the most well-known register allocation techiniques, including linear scan, graph coloring, integer linear programming and partitioned boolean programming. We also look into SSA-based register allocation, including SSA-elimination and spilling. |
|
|
A Framework for End-to-End Verification and Evaluation of Register Allocators: This paper validates a register assignment (plus spilling) using a type system. This proof has been mecanized in Twelf, and it is available on-line. This paper also compares different register allocators; hence, it is a good source of references to several well-known implementations. |
|
|
Twelf's soundness proofs: These are the scripts used ot prove the soundness of the type system used in the paper "A Framework for End-to-End Verification and Evaluation of Register Allocators". The proof comes in a number of files, but you can grab all of them in this zip. |
Última atualização:
07 de Julho de 2007.