-
Notifications
You must be signed in to change notification settings - Fork 7
Charlie Updates
Mike Lam edited this page Jan 16, 2020
·
9 revisions
- Create a list of any outstanding TODO items for software deliverable (Jan 23)
- Finish static analysis for method calls
- Write draft outline and clean/expand draft of related work
- Finish first draft of document by mid-February
- Consider revising thesis into a CCSC paper
- Start revising type rules from Decaf
- Read Pierce chapter on OOP
- Review 3-4 articles or papers on OOP type inference (contribution to OOP)
- Write more testing examples for type checking (Hines, 20 tests due Oct 4, contribution to test suite and static analysis)
- Investigate remaining test case failures (Hines, due Oct 4)
- Write 2-3 paragraphs about each source for paper (Hines, 2 more papers due Oct 18)
- Expose type unification intermediate results (due in repo Oct 18)
- Start implementing LJStaticAnalysis (contribution to static analysis, done Oct 25)
- Start experimental implementation of OO type inference (Nov 1)
- https://dl.acm.org/citation.cfm?id=28728
- http://web.cs.ucla.edu/~palsberg/paper/oopsla91.pdf
- https://pdfs.semanticscholar.org/06e2/60e21921be5a91f5f5b11676f7a725187b1d.pdf
- https://pdfs.semanticscholar.org/30fa/59dcb69466a7abb42999ca5ba594b3f79c01.pdf
- https://patents.google.com/patent/US7873592B2/en
- https://stackoverflow.com/questions/22528534/why-is-type-inference-impractical-for-object-oriented-languages
Summer 2019:
- Become familiar with the existing codebase. (DONE)
- Begin writing comprehensive tests for type inference and static analysis. (IN PROGRESS)
September 2019:
- Begin researching type inference strategies and begin documenting findings for the paper. (IN PROGRESS)
- Determine if the current strategy can be reworked or if it needs to be redone entirely.
October 2019:
- REVISED: Implement static analysis for working portions of type inference.
- 10/4: Compare type inference strategies from September to the current implementation.
- 10/11: Select the type inference strategy that will disrupt the current implementation the least while still solving the problem.
- 10/25: Identify and plan changes to be made to the current implementation.
November 2019:
- Implement and test the chosen type inference strategy, incorporate findings in paper.
- Prepare a prototype each week, focusing on changes identified in October.
December 2019:
- Iron out type inference bugs identified during testing.
- Continue creating weekly prototypes until all changes identified in October are incorporated.
- Once all changes are incorporated, shift priority to fixing any type inference tests that are failing.
January 2020:
- Design type checking rules for Less Java to be enforced during the static analysis phase.
February 2020:
- Implement and test static analysis phase, incorporate findings into paper.
March 2020:
- Finalize the paper and prepare a presentation on my work.
April 2020:
- Present my findings