A Constraint-Based Method For Flow-Sensitive Static Type Analysis Of PHP Using The Rascal Meta-Programming Platform

dc.contributor.advisorHills, Mark
dc.contributor.authorTamang, Apil
dc.contributor.departmentComputer Science
dc.date.accessioned2015-08-24T19:47:24Z
dc.date.available2015-08-24T19:47:24Z
dc.date.issued2015
dc.description.abstractPHP 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.
dc.description.degreeM.S.
dc.format.extent130 p.
dc.format.mediumdissertations, academic
dc.identifier.urihttp://hdl.handle.net/10342/5037
dc.publisherEast Carolina University
dc.subjectComputer engineering
dc.subjectComputer science
dc.subjectAnalysis
dc.subjectFlow-sensitive
dc.subjectRascal
dc.subjectStatic
dc.subjectType
dc.subject.lcshPHP (Computer program language)
dc.subject.lcshWeb site development
dc.subject.lcshDebugging in computer science--Computer programs
dc.subject.lcshProgramming languages (Electronic computers)
dc.titleA Constraint-Based Method For Flow-Sensitive Static Type Analysis Of PHP Using The Rascal Meta-Programming Platform
dc.title.alternativeConstraint-based method for flow-sensitive type analysis of PHP using the Rascal Meta-Programming Platform
dc.typeMaster's Thesis

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Tamang_ecu_0600O_11519.pdf
Size:
1.24 MB
Format:
Adobe Portable Document Format