A Hybrid Approach for Detection and Correction of Transient Faults in SoCs