SMOOTHIE: A Theory of Hyper-parameter Optimization for Software Analytics