Refactoring-Based Statistical Timing Analysis And Its Applications To Robust Design And Test Synthesis