JavaScript Generic Abstract Interpretation and Static Analysis