Static, lightweight includes resolution for PHP

M. Hills, P. Klint, J.J. Vinju

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

10 Citations (Scopus)

Abstract

Dynamic languages include a number of features that are challenging to model properly in static analysis tools. In PHP, one of these features is the include expression, where an arbitrary expression provides the path of the file to include at runtime. In this paper we present two complementary analyses for statically resolving PHP includes, one that works at the level of individual PHP files, and one targeting PHP programs possibly consisting of multiple scripts. To evaluate the effectiveness of these analyses we have applied the first to a corpus of 20 open-source systems, totaling more than 4.5 million lines of PHP, and the second to a number of programs from a subset of these systems. Our results show that, in many cases, includes can be resolved to a specific file or a small subset of possible files, enabling better IDE features and more advanced program analysis tools for PHP.
Original languageEnglish
Title of host publicationProceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), September 15-19, 2014, Västeras, Sweden
Place of PublicationNew York
PublisherAssociation for Computing Machinery, Inc
Pages503-514
ISBN (Print)978-1-4503-3013-8
DOIs
Publication statusPublished - 2014
Externally publishedYes
Event29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), September 15-19, 2014, Västerås, Sweden - Aros Congress Center, Västerås, Sweden
Duration: 15 Sept 201419 Sept 2014
http://www.ase2014.org/

Conference

Conference29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), September 15-19, 2014, Västerås, Sweden
Abbreviated titleASE 2014
Country/TerritorySweden
CityVästerås
Period15/09/1419/09/14
Internet address

Fingerprint

Dive into the research topics of 'Static, lightweight includes resolution for PHP'. Together they form a unique fingerprint.

Cite this