  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.
