1. A method for verifying software, comprising: using at least one processor to perform a process, the process comprising: identifying object code that was generated from compilation of one or more source code files, the one or more source code files corresponding to a software program to be verified, the one or more source code files being in at least a first programming language, the one or more source code files comprising functions and variables that have been defined using the first programming language, and the object code corresponding to compiled versions of the functions and variables; analyzing the object code to identify program information relevant to verification of the software program by at least extracting debugging information from the object code rather than using a co-debugging process that is tied to execution of the software program, the program information comprising information that is machine-specific to a hardware device on which the software program is to execute; and generating a testbench based at least in part upon the program information from the object code that is relevant to verification of the software program, wherein an event port that is to trigger an event is defined to correspond to a first variable in the testbench with a second variable in the software program, and the testbench is usable by a verification tool to perform coverage driven verification to verify the software program.