Patent ID: 8584101
Filing Date: 2013-11-12
Classification: G06F

Abstract:
1. An apparatus for automatically analyzing a program, comprising: a computer system comprising a processor and memory; an automatic analysis engine operating on the computer system and adapted to analyze statements in a program and generate program execution information by forcefully executing each statement in the program; an execution information database for storing the program execution information generated by the automatic analysis engine; an execution flow analyzer operating on the computer system and adapted to analyze execution flow of the program based on the execution information stored in the execution information database; an execution result provider operating on the computer system and adapted to provide a user with an execution result based on the execution flow information analyzed by the execution flow analyzer; a forced executer operating on the computer system and adapted to check whether at least one of the statements is a conditional branch and, if it is the conditional branch, instruct the debugger to forcefully execute the conditional branch, wherein the forceful execution of the conditional branch includes the execution of both a statement branched when a branch condition is satisfied and a statement branched when the branch condition is unsatisfied; a debugger operating on the computer system and adapted to execute the statements in the program; and a disassembler operating on the computer system and adapted to convert the statements to be executed in the debugger into a machine language, wherein the forced executer controls the conditional branch to be executed only once in one execution flow when the conditional branch is included in a loop.