|
Virtual execution environments (VEEs) are becoming ubiquitous, and are changing the way computer scientists think about computer architectures, operating systems, programming languages, and compilers. In this course, we explore the state-of-the-art in VEEs, their implementation, and their myriad of applications -- from security to compatibility to program introspection. The structure of the course exposes students to the latest research in the area (by reading both seminal and emerging papers) and also enables hands-on experience via a significant project component.
Course Topics.
- Dynamic Optimization Systems
- Binary Translation Systems
- Program Instrumentation
- Adaptive Optimization
- Profiling
- Phase Behavior
- Trace Generation
- Code Caches
- Persistent Translations
- Advanced Applications
Tools.
|