Title :
Efficient construction of approximate call graphs for JavaScript IDE services
Author :
Feldthaus, Asger ; Schafer, Markus ; Sridharan, M. ; Dolby, Julian ; Tip, Frank
Author_Institution :
Aarhus Univ., Aarhus, Denmark
Abstract :
The rapid rise of JavaScript as one of the most popular programming languages of the present day has led to a demand for sophisticated IDE support similar to what is available for Java or C#. However, advanced tooling is hampered by the dynamic nature of the language, which makes any form of static analysis very difficult. We single out efficient call graph construction as a key problem to be solved in order to improve development tools for JavaScript. To address this problem, we present a scalable field-based flow analysis for constructing call graphs. Our evaluation on large real-world programs shows that the analysis, while in principle unsound, produces highly accurate call graphs in practice. Previous analyses do not scale to these programs, but our analysis handles them in a matter of seconds, thus proving its suitability for use in an interactive setting.
Keywords :
C language; Java; data flow graphs; program diagnostics; programming environments; C# language; IDE support; Java language; JavaScript IDE services; approximate call graph construction; development tools; programming language; scalable field-based flow analysis; static analysis; Abstracts; Algorithm design and analysis; Buildings; HTML; Java; Programming; Reactive power;
Conference_Titel :
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4673-3073-2
DOI :
10.1109/ICSE.2013.6606621