PLDI tutorial

Sat, 2006-06-10 12:00

News Item:
At PLDI 2006 we will be presenting a Diablo tutorial. The PLDI tutorials are held on June, 10-11, 2006. The Diablo tutorial will be held on June 11, starting at 8:30am. For details on the tutorials, you can visit the PLDI 2006 tutorials page
For further information about PLDI, visit the PLDI 2006 homepage.
If you want to start using Diablo, or find out more on link-time rewriting, we encourage you to come to the tutorial. We will give a good introduction to Diablo, but also to some fundamentals of link-time rewriting in general. All main Diablo developers will be there, so you have a change to meet them and to discuss ideas and problems you might be having. Furthermore, we know that a number of PhD students who are already using Diablo will be there, so it is possible to meet them as well, and to extend your network.

The tutorial will consist of four parts:

  • First we will introduce the field of static binary program rewriting, and the place of Diablo in this field as a retargetable, extensible and reliable framework for static binary rewriting.
  • In the second part, a number of important data structures in Diablo will be discussed. Rather than simply iterating over a number of data structures, this part will emphasize the role of the data structures in the design of Diablo-like tools that want to offer retargetability, extensibility and reliability.
  • In the third part, existing control flow analyses, data flow analyses and program transformations in Diablo are presented. In this part, we will also demonstrate how the static rewriter Diablo supports dynamic analyses and rewriting applications such as program instrumentation and the insertion of self-modifying code for program obfuscation. Finally, this part will introduce Lancet, a graphical interface implemented on top of Diablo that facilitates both the evaluation of new analyses and transformations, and the debugging of prototype implementations thereof.
  • In the final part, the retargeting of Diablo to new architectures and other file-formats will be discussed.

More information can be found in this PDF file, which is our proposal we have sent to the organizers.