1. A method comprising: identifying a plurality of conditional statements in a program each conditional statement defining two alternative computational paths of the program; determining a set from the identified conditional statements, the set comprising the conditional statements which are dependant on external inputs to the program; for each conditional statement in the set identifying the values of the external inputs required for each possible condition in the statement to be met; and forming at least one hint, each hint comprising values of the external inputs which would cause a particular condition in each conditional statement in the set to be met thereby defining a computational path of the program.