Top Banner
Static Type Analysis of Dynamically Typed Programming Language Author: Štěpán Šindelář (43600220) Supervisor: Matthew Roberts
8

Static Type Analysis of Dynamically Typed Programming Language

Jan 04, 2016

Download

Documents

Betsy

Static Type Analysis of Dynamically Typed Programming Language. Author: Štěpán Šindelář (43600220) Supervisor: Matthew Roberts. The Aim: Static Type Analysis of PHP Code. PHP is a dynamic language → no type information, one variable: multiple types. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Static Type Analysis of Dynamically Typed Programming Language

Static Type Analysis of Dynamically Typed Programming Language

Author: Štěpán Šindelář (43600220)Supervisor: Matthew Roberts

Page 2: Static Type Analysis of Dynamically Typed Programming Language

The Aim: Static Type Analysis of PHP Code

▪ PHP is a dynamic language → no type information, one variable: multiple types.

▪ Static Analysis: analyse the code without executing it.

▪can guarantee termination and bounds on complexity

▪ Aim: use static analysis to infer type information

▪useful for integrated development environments

▪useful for compiler back-ends

▪ In the context of Phalanger project

▪The PHP compiler for .NET written in C#

Page 3: Static Type Analysis of Dynamically Typed Programming Language

3

Work to be done

▪ Research into various methods for static analysis

▪ Implementation

▪Control Flow Graph construction

▪Generic framework for Data Flow Analysis

▪Type Analysis based on the generic framework

▪ Evaluation

▪ Final Report & Presentation

Page 4: Static Type Analysis of Dynamically Typed Programming Language

4

Work to be done

▪ Research into various methods for static analysis

▪ Implementation

▪Control Flow Graph construction

▪Generic framework for Data Flow Analysis

▪Type Analysis based on the generic framework

▪ Evaluation (...and bugfixing)

▪ Final Report & Presentation

Page 5: Static Type Analysis of Dynamically Typed Programming Language

Type Analysis Based on the Generic Framework

▪ Finish the implementation

▪ Provide a Command Line Interface

▪for testing & evaluation purposes

Page 6: Static Type Analysis of Dynamically Typed Programming Language

Evaluation

▪ Several PHP open source projects

▪Zend Framework, WordPress, PhpUnit ...

▪ Run the analysis on their source code

▪fix bugs where possible

▪record actual errors discovered by the tool

▪possibly: performance benchmarking

▪possibly: compare to other tools' results

Page 7: Static Type Analysis of Dynamically Typed Programming Language

Final Report & Presentation▪ Analysing PHP

▪PHP Semantics Caveats

▪Theoretical Background

▪My Approach – theory used and its adaptation to PHP

▪ Existing Software

▪ Implementation

▪ Evaluation

Page 8: Static Type Analysis of Dynamically Typed Programming Language

Thank you for you attention

QA