A method (20; 30) for managing an execution of a program relating to at least a part of a first application, as a first application program, comprising: - a) executing, by a first processor, a first control flow, the first control flow graph including at least two separated branches (260, 280), each of the at least two separated branches including at least one node; - b) executing, by a second processor, in synchronization with the first control flow execution, at least one second application, the at least one second application comprising, each, when executed by the second processor in synchronization with the first control flow execution, at least one predetermined variable and at least one expected value that the at least one predetermined variable has to have or at least one predetermined condition that the at least one predetermined variable has to satisfy to authorize an execution of the right first control flow by the first processor; - c) determining, by the second processor, when executing the at least one second application, at least one transition decision between at least two first nodes of the at least two separated branches, wherein each of the at least two branches is associated with a corresponding predetermined condition, wherein determining the at least one transition decision comprises determining a branch, among the at least two separated branches, to be executed by the first processor when the corresponding predetermined condition associated with the branch is satisfied, wherein the at least one transition decision is conditional (226 or 228) to continue from an execution of the current node to an execution of a first node of the determined branch of the at least two separated branches; - d) controlling, by the second processor, when executing the at least one second application, based on the determined at least one transition decision, the first node of the determined branch to be executed by the first processor. - a) executing, by a first processor, a first control flow, the first control flow graph including at least two separated branches (260, 280), each of the at least two separated branches including at least one node; - b) executing, by a second processor, in synchronization with the first control flow execution, at least one second application, the at least one second application comprising, each, when executed by the second processor in synchronization with the first control flow execution, at least one predetermined variable and at least one expected value that the at least one predetermined variable has to have or at least one predetermined condition that the at least one predetermined variable has to satisfy to authorize an execution of the right first control flow by the first processor; - c) determining, by the second processor, when executing the at least one second application, at least one transition decision between at least two first nodes of the at least two separated branches, wherein each of the at least two branches is associated with a corresponding predetermined condition, wherein determining the at least one transition decision comprises determining a branch, among the at least two separated branches, to be executed by the first processor when the corresponding predetermined condition associated with the branch is satisfied, wherein the at least one transition decision is conditional (226 or 228) to continue from an execution of the current node to an execution of a first node of the determined branch of the at least two separated branches; - d) controlling, by the second processor, when executing the at least one second application, based on the determined at least one transition decision, the first node of the determined branch to be executed by the first processor.