1. A method of analyzing an incomplete software program, the method comprising: receiving high-level software code of a software program that includes a plurality of functions, the plurality of functions including at least one incomplete function and at least one complete function; compiling at least a portion of the high-level software code to generate low-level software code by compiling the complete function and passing over the incomplete function; modifying the low-level software code to account for a call to the incomplete function in the low-level software code; and symbolically executing the modified low-level software code.