Machine Learning Applications to Static Timing Analysis