RapiTimeZero uses two types of inputs from which to analyze software execution times. 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, RapiTimeZero can understand both the program structure and the events that occurred during the program execution, allowing it to perform execution time analysis and produce execution time results.