Twinning automata and regular expressions for string static analysis

06/04/2020
by   Luca Negrini, et al.
0

In this paper we formalize and prove the soundness of Tarsis, a new abstract domain based on the abstract interpretation theory that approximates string values through finite state automata. The main novelty of Tarsis is that it works over an alphabet of strings instead of single characters. On the one hand, such approach requires a more complex and refined definition of the widening operator, and the abstract semantics of string operators. On the other hand, it is in position to obtain strictly more precise results than than state-of-the-art approaches. We implemented a prototype of Tarsis, and we applied it on some case studies taken from some of the most popular Java libraries manipulating string values. The experimental results confirm that Tarsis is in position to obtain strictly more precise results than existing analyses.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/17/2018

An Automata-based Abstract Semantics for String Manipulation Languages

In recent years, dynamic languages, such as JavaScript or Python, have f...
research
02/28/2019

Sequentiality of String-to-Context Transducers

Transducers extend finite state automata with outputs, and describe tran...
research
11/08/2021

Solving String Constraints With Regex-Dependent Functions Through Transducers With Priorities And Variables

Regular expressions are a classical concept in formal language theory. R...
research
09/30/2020

A String Diagrammatic Axiomatisation of Finite-State Automata

We develop a fully diagrammatic approach to the theory of finite-state a...
research
12/14/2020

A New Approach to Regular Indeterminate Strings

In this paper we propose a new, more appropriate definition of regular a...
research
08/03/2020

Implicit automata in typed λ-calculi II: streaming transducers vs categorical semantics

We characterize regular string transductions as programs in a linear λ-c...
research
06/22/2022

Decoupling the ascending and descending phases in Abstract Interpretation

Abstract Interpretation approximates the semantics of a program by mimic...

Please sign up or login with your details

Forgot password? Click here to reset