Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features such as the eval function and dynamic property access, precise string analysis is a prerequisite for automated reasoning about practically any kind of runtime property. Although the literature presents a considerable number of abstract domains for capturing and representing specific aspects of strings, we are not aware of tools that allow flexible combination of string abstract domains. Indeed, support for string analysis is often confined to a single, dedicated string domain. In this paper we describe a framework that allows us to combine multiple string abstract domains for the analysis of JavaScript programs. It is implemented as an extension of SAFE, an open-source static analysis tool. We investigate different combinations of abstract domains that capture various aspects of strings. Our evaluation suggests that a combination of a few, simple abstract domains suffice to outperform the precision of state-of-the-art static analysis tools for JavaScript.

Combining string abstract domains for javascript analysis: An evaluation / Amadini R.; Jordan A.; Gange G.; Gauthier F.; Schachte P.; Sondergaard H.; Stuckey P.J.; Zhang C.. - ELETTRONICO. - 10205:(2017), pp. 41-57. (Intervento presentato al convegno 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017 held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017 tenutosi a swe nel 2017) [10.1007/978-3-662-54577-5_3].

Combining string abstract domains for javascript analysis: An evaluation

Amadini R.
;
2017

Abstract

Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features such as the eval function and dynamic property access, precise string analysis is a prerequisite for automated reasoning about practically any kind of runtime property. Although the literature presents a considerable number of abstract domains for capturing and representing specific aspects of strings, we are not aware of tools that allow flexible combination of string abstract domains. Indeed, support for string analysis is often confined to a single, dedicated string domain. In this paper we describe a framework that allows us to combine multiple string abstract domains for the analysis of JavaScript programs. It is implemented as an extension of SAFE, an open-source static analysis tool. We investigate different combinations of abstract domains that capture various aspects of strings. Our evaluation suggests that a combination of a few, simple abstract domains suffice to outperform the precision of state-of-the-art static analysis tools for JavaScript.
2017
23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017
41
57
Combining string abstract domains for javascript analysis: An evaluation / Amadini R.; Jordan A.; Gange G.; Gauthier F.; Schachte P.; Sondergaard H.; Stuckey P.J.; Zhang C.. - ELETTRONICO. - 10205:(2017), pp. 41-57. (Intervento presentato al convegno 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2017 held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017 tenutosi a swe nel 2017) [10.1007/978-3-662-54577-5_3].
Amadini R.; Jordan A.; Gange G.; Gauthier F.; Schachte P.; Sondergaard H.; Stuckey P.J.; Zhang C.
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/708553
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 23
  • ???jsp.display-item.citation.isi??? 21
social impact