Abstract domains for type juggling
File(s)nsad16.pdf (308.83 KB)
Accepted version
Author(s)
Arceri, V
Maffeis, S
Type
Conference Paper
Abstract
Web scripting languages, such as PHP and JavaScript, provide a wide range of dynamic features that make
them both flexible and error-prone. In order to prevent bugs in web applications, there is a sore need for
powerful static analysis tools. In this paper, we investigate how Abstract Interpretation may be leveraged
to provide a precise value analysis providing rich typing information that can be a useful component for
such tools.
In particular, we define the formal semantics for a core of PHP that illustrates
type juggling
, the implicit
type conversions typical of PHP, and investigate the design of abstract domains and operations that, while
still scalable, are expressive enough to cope with type juggling. We believe that our approach can also be
applied to other languages with implicit type conversions.
them both flexible and error-prone. In order to prevent bugs in web applications, there is a sore need for
powerful static analysis tools. In this paper, we investigate how Abstract Interpretation may be leveraged
to provide a precise value analysis providing rich typing information that can be a useful component for
such tools.
In particular, we define the formal semantics for a core of PHP that illustrates
type juggling
, the implicit
type conversions typical of PHP, and investigate the design of abstract domains and operations that, while
still scalable, are expressive enough to cope with type juggling. We believe that our approach can also be
applied to other languages with implicit type conversions.
Date Issued
2016-11-11
Date Acceptance
2016-07-27
Citation
Electronic Notes in Theoretical Computer Science
ISSN
1571-0661
Publisher
Elsevier
Journal / Book Title
Electronic Notes in Theoretical Computer Science
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
GCHQ
Grant Number
EP/I004246/1
EP/K032089/1
4195623
Source
Numerical and Symbolic Abstract Domains (NSAD)
Subjects
Computation Theory & Mathematics
0802 Computation Theory And Mathematics
0803 Computer Software
1702 Cognitive Science
Publication Status
Accepted
Start Date
2016-11-11
Coverage Spatial
Edinburgh