Skip to content
Mike Lam edited this page Jan 16, 2020 · 9 revisions

Tasks

Current/Upcoming

  • 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

Completed

  • 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)

Sources

Original timeline

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
Clone this wiki locally