Static Program Analysis for String Manipulation Languages

In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a wide range of fields and applications. Their tricky and misunderstood behaviors pose a hard challenge for static analysis of these programming languages. A key aspect of any dynamic language program is...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Electronic proceedings in theoretical computer science Ročník 299; číslo Proc. VPT 2019; s. 19 - 33
Hlavní autori: Arceri, Vincenzo, Mastroeni, Isabella
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Open Publishing Association 20.08.2019
ISSN:2075-2180, 2075-2180
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a wide range of fields and applications. Their tricky and misunderstood behaviors pose a hard challenge for static analysis of these programming languages. A key aspect of any dynamic language program is the multiple usage of strings, since they can be implicitly converted to another type value, transformed by string-to-code primitives or used to access an object-property. Unfortunately, string analyses for dynamic languages still lack precision and do not take into account some important string features. Moreover, string obfuscation is very popular in the context of dynamic language malicious code, for example, to hide code information inside strings and then to dynamically transform strings into executable code. In this scenario, more precise string analyses become a necessity. This paper is placed in the context of static string analysis by abstract interpretation and proposes a new semantics for string analysis, placing a first step for handling dynamic languages string features.
ISSN:2075-2180
2075-2180
DOI:10.4204/EPTCS.299.5