An Automata-based Abstract Semantics for String Manipulation Languages

08/17/2018
by   Vincenzo Arceri, et al.
0

In recent years, dynamic languages, such as JavaScript or Python, have faced an important increment of usage 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 of 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 proposes a new semantics for string analysis placing a first step for handling dynamic languages string features.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/29/2017

A critical analysis of string APIs: The case of Pharo

Most programming languages, besides C, provide a native abstraction for ...
research
06/04/2020

Twinning automata and regular expressions for string static analysis

In this paper we formalize and prove the soundness of Tarsis, a new abst...
research
11/02/2021

From Strings to Data Science: a Practical Framework for Automated String Handling

Many machine learning libraries require that string features be converte...
research
05/08/2021

Inside the Binary Reflected Gray Code: Flip-Swap Languages in 2-Gray Code Order

A flip-swap language is a set S of binary strings of length n such that ...
research
08/21/2019

Tensor Product Representations of Subregular Formal Languages

This paper provides a geometric characterization of subclasses of the re...
research
02/11/2020

Hidden in Plain Sight: Obfuscated Strings Threatening Your Privacy

String obfuscation is an established technique used by proprietary, clos...
research
04/25/2019

SafeStrings: Representing Strings as Structured Data

Strings are ubiquitous in code. Not all strings are created equal, some ...

Please sign up or login with your details

Forgot password? Click here to reset