The correct answer is (d) 28%
To explain I would say: In this instance, a success is a bug-free compilation, and a failure is the discovery of a bug. The programmer needs to have 0, 1 or 2 failures, so her probability of finishing the program is: P(X=0) + P(X=1) + P(X=2) = (0.95)^0(0.1) + (0.95)^1(0.1) + (0.95)^2(0.1) = 0.28% = 28%.