RapiTaskZero uses two types of inputs from which to produce task-level scheduling results. The first is the executable file and a disassembly of it, and the second is a branch trace collected while the program under analysis is executed. From these inputs, RapiTaskZero can understand both the program structure and the events that occurred during the program execution, allowing it to perform task-level scheduling analysis and produce results.