Reinventing program design · Study