Static analysis for ECMAscript string manipulation programs