Self Optimizing Virtual Machine
Goal
Make a virtual machine, like JVM, that will run any programs very fast with a small resource consumption.
Goal2: strip a program in a virtual machine or on a compatible layer
Usage
Free human from this boring work, including optimizing the virtual machine itself
(Possibly) Difficulties
- Assess different optimized results
- Balance the time of optimization process and execution
- ...
Implementation ideas
- Machine learning
- Ask the virtual machine to write proofs to prove that the optimized ones equal the original ones
- Slightly change the programming language to allow programmers to describe all acceptable results of an experssion
- Optimize a version of virtual machine itself as if it is a program running on the virtual machine - requires the virtual machine to emulate the environment where itself runs
Machine learning
- Improve programs written by programmers
- Rewrite one
Evaluation System: Correctness / Time / Space