/* The test is taken from the following paper: M.T Trinh, D.H Chu, J. Jaffar, Progressive reasoning over recursively-defined strings / International Conference on Computer Aided Verification, 218-240 The sanitization procedure replaces the substring 'ip' by the substring ' ip address ' in a web code. We say the procedure is correct if the resulting code does not contain the substring '>; } ReplaceIp { e.x1 'ip' e.x2 = e.x1' ip address '; e.Other = e.Other; } Check { = 'T'; '; } /***********************************************/ /* the residual program */ /***********************************************/ /* $ENTRY Go { e.x1 = ; } Check_0 { e.x1 'ip' e.x2 = ; e.x1 = ; } Check_3_0 { (t.y1 e.x1) (e.x2) = ; () (e.x1) = ; } Check_13_0 { = 'T'; t.y1 e.x1 = ; } */