and identifying inefficient code and potential infinite loops all but the shallowest javascript static analysis cannot today be performed in real time speed for the amount of javascript on an average web page however with the technique described in this disclosure static analysis can be performed by the analyzer due to the reduced time constraints a second common technique for understanding javascript is to execute it and observe the results this technique is usually done by simulating or automating a browser loading the page and monitoring the executed code and its interaction with the web page for example monitoring whether document write was called and what content was passed to it javascript execution has various pros and cons when compared to static analysis slower performance is one if its primary disadvantages as static analysis tends to be much faster than javascript execution however there are some types of information that are much more easily obtained using javascript execution compared to static analysis for example for the script contained in page shown heretofore static analysis can easily determine document write is being called but cannot easily determine what exactly was written javascript execution would easily extract the exact html added to the page for web page transformation purposes javascript execution can provide a considerable amount of very useful information the types of information often overlap with those that javascript static analysis can extract one primary usage is to use javascript execution to identify and extract links created by javascript.