1. A method for generating an assertion based on a user program code in an assertion generating apparatus, the method comprising: receiving, by the assertion generating apparatus, a user program including at least one assertion directive and a plurality of codes, a compiled result of the user program, and architecture information of a processor, wherein the compiled result of the user program indicates binary codes converted by a compiler from the user program, and the architecture information of the processor indicates information about functional blocks of the processor; generating, by the assertions generating apparatus, based on the compiled result of the user program and the architecture information of the processor, an assertion which states an operation that the processor needs to perform in accordance with a code of the plurality of codes included in the user program indicated by each of the at least one assertion directive included in the user program, wherein the at least one assertion directive is inserted into a code requiring verification of the operation of the processor from among the plurality of codes included in the user program and indicates the generation of the assertion to verify the operation of the processor; and wherein the generating the assertion comprises: determining the code requiring verification of the operation of the processor from among the plurality of codes included in the user program based on an interpretation of the at least one assertion directive; and determining a point in time based on schedule information contained in the compiled result and the architecture information of the processor, at which the determined code of the user program, indicated by each of the at least one assertion directive, is executed, and a functional block which executes the code at the point in time.