1 / 0

Type-Safe PHP: A compile time approach

Type-Safe PHP: A compile time approach. Robert Stoll. Contents. Aim and Objectives SWOT Analysis Survey Project Management Compiler Discussion. Aim and Objectives. SWOT of TSPHP Survey to find the PHP community's position regarding type safety

pravat
Download Presentation

Type-Safe PHP: A compile time approach

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Type-Safe PHP: A compile time approach

    Robert Stoll
  2. Contents Aim and Objectives SWOT Analysis Survey Project Management Compiler Discussion
  3. Aim and Objectives SWOT of TSPHP Survey to find the PHP community's position regarding type safety Review techniques for ensuring type-safety Language specification for TSPHP Gain an understanding of the architecture and design of compilers and how compilers work Develop a requirement specification for TSPHP and the corresponding compiler Develop a compiler (in Java) which translates TSPHP into PHP 5.4 Set up a project environment Use good project management practices and quality assurance Draw conclusions against the hypothesis Make critical evaluation of the project and approach.
  4. SWOT Analysis Find Strengths Weaknesses Opportunities Threats And draw conclusions and strategies Pre-version already written But based on what?
  5. Data for SWOT Own experience Research Data from the survey Several speed tests
  6. Speed tests Implemented a speed test framework for PHP (also available as open source) 56 different test payloads so far Easy to redo the tests at any time without a great effort Highly extendable – easy to write a new test payload 56’000 test results 38 Kruskal-Wallis tests
  7. Survey 460 Participants From 24 different countries 283 answered the main question 195 completed the survey
  8. Survey - aim Should TSPHP be developed further after the final year project? Criterion: 3 people out of the Group 1 answer the main question with 'yes' or 15 people out of the Group 2 answer the main question with 'yes' or 20% in total (all groups) answer the main question with 'yes' Further analysis on the community’s position of type safety in PHP if times allows it.
  9. Results Group 1: experts 21 participants 17 answered the main question 3 answered with 'yes' 12 answered with 'no' 2 answered with 'I do not know'
  10. Results Group 2: long term developers = 15 answers 67 participants 67 answered the main question 26 answered with 'yes' 41 answered with 'no'
  11. Results 20% of Total yes answers 283 answers 107 answered with 'yes‘ - 37.8 % 176 answered with 'no‘
  12. Project Management Set up project environment Wrote: Java Code Convention Test Philosophy Version control system philosophy
  13. Compiler Wrote Customer requirements System specification Language specification
  14. Compiler Implementedcomponents Lexer/Parser Typechecker (incomplete) Translator Common Compiler (integratestheothercomponents)
  15. Compiler - demo Availableatthebuildserver http://tsphp.tutteli.ch/jenkins/job/TSPHP/lastSuccessfulBuild/artifact/build/dist/TSPHP-0.2.5.x-src.zip
  16. Open Tasks Typechecker newoperator cloneoperator instanceofoperator ternaryoperator memberaccess staticmemberaccess classconstantaccess method/functioncall staticmethodcall abstractmethods (onlyif time allowesit) arraycreation (onlyif time allowesit) override (onlyif time allowesit) Bugs: Erroneusclass resolve variable from conditional scope from outside Write thereport
  17. Discussion
More Related