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

ECU Author/Contributor (non-ECU co-authors, if there are any, appear on document)
Apil Tamang (Creator)
Institution
East Carolina University (ECU )
Web Site: http://www.ecu.edu/lib/

Abstract: 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.\r\n 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.

Additional Information

Publication
Thesis
Language: English
Date: 2023
Subjects
Computer engineering;Computer science;Analysis;Flow-sensitive;Rascal;Static;Type

Email this document to

This item references:

TitleLocation & LinkType of Relationship
A Constraint-Based Method For Flow-Sensitive Static Type Analysis Of PHP Using The Rascal Meta-Programming Platformhttp://hdl.handle.net/10342/5037The described resource references, cites, or otherwise points to the related resource.