1. A computer-implemented method of performing runtime analysis and runtime control of a multithreaded computer program, the method comprising: identifying threads of a computer program to be analyzed; under control of a supervisor thread, folding a plurality of the identified threads together to be executed as a single folded thread; monitoring the execution of the folded thread to determine a status of the identified threads; and presenting in a user interface that is presented on a display at least one indicator corresponding to the determined status of the identified threads.