A constraint-based method for flow-sensitive static type analysis of PHP using the Rascal Meta-Programming Platform / by Apil Tamang.

Author/creator Tamang, Apil author.
Other author Hills, Mark, degree supervisor.
Other author East Carolina University. Department of Computer Science.
Format Theses and dissertations
Publication[Greenville, N.C.] : [East Carolina University], 2015.
Description130 pages : illustrations (some color)
Supplemental ContentAccess via ScholarShip
Subjects

Variant title title from signature page Constraint-based method for flow-sensitive type analysis of PHP using the Rascal Meta-Programming Platform
Summary PHP is a dynamically typed language, and is very popular among developers for building websites. The dynamic features of PHP allow for many kinds of type related errors to be made by developers. Since PHP does not feature a static type checker, these errors cannot be detected until runtime. When such an error is encountered, it often results in the application to crash, thus possibly loosing valuable computational time and effort. Worse yet, the PHP compiler may use type coercion to convert an incompatible data to the required type, and in doing so, introduce an extremely hard-to- trace application bug. In this research, we address this problem by building a type-checker that performs a flow-sensitive type-inference of PHP expressions. The analysis is based on a constraints-based algorithm, and utilizes the program control flow-graph for visiting all reachable nodes in the application. The type-checker uses the inferred types for performing many type-related analyses. Results of the analyses are displayed to the developers for locating any constructs that may result in a possible application failure. By continually using this feedback, the tool aims to help PHP developers build more robust PHP applications.
General notePresented to the faculty of the Department of Computer Science.
General noteAdvisor: Mark Hills.
General noteTitle from PDF t.p. (viewed October 1, 2015).
Dissertation noteM.S. East Carolina University 2015.
Bibliography noteIncludes bibliographical references.
Technical detailsSystem requirements: Adobe Reader.
Technical detailsMode of access: World Wide Web.