I've been reading about a new software development scheme called "shuffling" whereby the code is continually rearranged repeatedly.
The obvious results include code blocks which cannot be anticipated by the Return Oriented Programming frequently used by hackers trying to breach defenses.
Now I can see the benefit of this unpredictable presentation where calling subroutines becomes a matter of random hit and miss with the majority of results being misses.
There is another technique (called address space layout randomization ASLR) whereby memory becomes rearranged during program launch which has also proved effective.
So the shuffler takes the ASLR randomization and mixes the code every fraction of a second and anything beyond that teensie time slice is obsolete from an exploit perspective.
The shuffler also randomizes itself in the process keeping the hacker out of it as well.
Of course there are bugs and crash issues to resolve and the not ready for prime time technology remains an up and coming star in the realm of exploit prevention.
My personal thoughts revolve around performance issues on top of everything else and there likely will be less of a propensity for VM cohabitation with a lot of shuffling going on from a resource availability point of view.
I just love it when a good plan materializes even if it's not quite "there".