This comment only on the first question:
Ability to reverse engineer the program flow and provide a sequence diagram based on a run. THis should have the ability to specify a filter so unnecessary noise/well understood parts of the program flow can be skipped