Static analysis of JavaScript