Constrained software