1. A method, comprising: receiving a computer program having a plurality of checkpoints, each checkpoint being assigned to at least one of a plurality of checkpoint groups, each checkpoint and each checkpoint group being identified by a group identifier, each checkpoint in the plurality of checkpoints including an assertion statement that tests whether a specified condition is true, and a breakpoint that halts execution of the computer program, the assertion statement including an argument to activate logging with programmer-controlled granularity, the argument being used to determine whether to update a log entry when the assertion statement fails, the assignment of each checkpoint to a checkpoint group being specified in a statement defining the respective checkpoint, the statement including the group identifier identifying the checkpoint group, and each checkpoint group including a respective identification; associating each checkpoint group with one of a plurality of activation variants that indicates a behavior based on a result of the assertion statement, wherein checkpoint groups associated with an activation variant behave in accordance with the activation variant; selectively activating at least one checkpoint group based on the respective identification; indicating the activation variant of the plurality of activation variants, in accordance with the at least one checkpoint group is to behave; and executing the computer program based on selectively activating the at least one checkpoint group and indicating the activation variant, wherein only the at least one checkpoint group of the computer program is executed, and a remainder of the plurality of checkpoint groups, if any, is not executed.