Strings are widely used in modern programming languages in various scenarios. For instance, strings are used to build up Structured Query Language (SQL) queries that are then executed. Malformed strings may lead to subtle bugs, as well as non-sanitized strings may raise security issues in an application. For these reasons, the application of static analysis to compute safety properties over string values at compile time is particularly appealing. In this article, we propose a generic approach for the static analysis of string values based on abstract interpretation. In particular, we design a suite of abstract semantics for strings, where each abstract domain tracks a different kind of information. We discuss the trade-off between efficienc...
Using contracts such as method preconditions, postconditions, and class invariants in code is an app...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Strings are widely used in modern programming languages in various scenarios. For instance, strings ...
Strings are widely used in modern programming languages in various scenarios. For instance, strings ...
In this paper we propose a unifying approach for the static analysis of string values based on abstr...
In recent years, dynamic languages, such as JavaScript or Python, have faced an important increment ...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Interpretation is a well established theory that supports reasoning about the run-time behaviour of ...
Abstract interpretation is a well established theory that supports reasoning about the run-time beha...
This document presents an excerpt from the research results that I have obtained since I received a ...
Abstract. To understand the effect of code complexity on static anal-ysis, thirty-five format string...
We perform static analysis of Java programs to answer a simple question: which values may occur as r...
Using contracts such as method preconditions, postconditions, and class invariants in code is an app...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Strings are widely used in modern programming languages in various scenarios. For instance, strings ...
Strings are widely used in modern programming languages in various scenarios. For instance, strings ...
In this paper we propose a unifying approach for the static analysis of string values based on abstr...
In recent years, dynamic languages, such as JavaScript or Python, have faced an important increment ...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Strings play a central role in JavaScript and similar scripting languages. Owing to dynamic features...
Interpretation is a well established theory that supports reasoning about the run-time behaviour of ...
Abstract interpretation is a well established theory that supports reasoning about the run-time beha...
This document presents an excerpt from the research results that I have obtained since I received a ...
Abstract. To understand the effect of code complexity on static anal-ysis, thirty-five format string...
We perform static analysis of Java programs to answer a simple question: which values may occur as r...
Using contracts such as method preconditions, postconditions, and class invariants in code is an app...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a w...