CS 17-770: Engine Report
In this part of the course, you will write a 5-10 page paper describing the implementation of a notable programming language or virtual machine of your choice.
The goal of this paper is to demonstrate your understanding of the components and techniques in virtual machines by identifying and describing them in a in-the-wild software artifact.
Prompt questions
- Describe the execution tier(s) of the virtual machine.
- Compare and contrast this VM/language with those studied in class, including Wasm, the JVM, and dynamic languages.
- Describe the overall execution model (runtime semantics) of languages running on this VM.
- If this is a historical VM, describe key innovations (firsts) that this VM is associated with.
- What are the performance challenges with this particular VM?
- What are the key optimization techniques applied by this VM?
- Does this VM have a garbage collector? If so, describe its basic algorithms.
- Describe the VM's approach to typing (i.e. static, dynamic, hybrid).
Students' choices
Evaluation
Reports will be assessed on completeness, accuracy, and how well each student applies the understanding of concepts taught in the course to a real-world software system.