Extended Conference Paper
A suite of abstract domains for static analysis of string values
Article first published online: 16 AUG 2013
Copyright © 2013 John Wiley & Sons, Ltd.
Software: Practice and Experience
How to Cite
Costantini, G., Ferrara, P. and Cortesi, A. (2013), A suite of abstract domains for static analysis of string values. Softw: Pract. Exper.. doi: 10.1002/spe.2218
- Article first published online: 16 AUG 2013
- Manuscript Accepted: 16 JUL 2013
- Manuscript Revised: 8 MAY 2013
- Manuscript Received: 23 NOV 2012
- static analysis;
- abstract interpretation;
- abstract domains;
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 efficiency and accuracy when using such domains to catch the properties of interest. In this way, the analysis can be tuned at different levels of precision and efficiency, and it can address specific properties.Copyright © 2013 John Wiley & Sons, Ltd.