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