Research

My main area of interest is using static analysis and dynamic enforcement to protect and improve programs written in dynamic programming languages. In particular, my thesis research focused on extending contract systems like the one provided by Racket to protect language features like first-class classes, first-class modules, and values with mutable state. In addition, I worked with Sam Tobin-Hochstadt to add non-uniform variable-arity polymorphism to Typed Racket. My previous postdoc position involved developing dynamically checked type systems with Jeff Foster and Brianna Ren that describe the behavior of idiomatic programs and DSLs written in scripting languages like Ruby.

Publications

Journal, Conference, and Symposium Papers

  • Contracts for First-Class Classes. T. Stephen Strickland, Christos Dimoulas, Asumu Takikawa, and Matthias Felleisen. TOPLAS Vol. 35 Num. 3, Nov. 2013. [bib, pdf].

    @article{sdtf:class-contracts,
      author = {T.~Stephen Strickland and Christos Dimoulas and Asumu Takikawa and Matthias Felleisen},
      title = {Contracts for First-Class Classes},
      journal = {ACM Trans. Program. Lang. Syst.},
      volume = {35},
      number = {3},
      month = nov,
      year = {2013},
      pages = {11:1--11:58},
      url = {http://doi.acm.org/10.1145/2518189},
    }
  • Constraining Delimited Control with Contracts. Asumu Takikawa, T. Stephen Strickland, and Sam Tobin-Hochstadt. ESOP 2013. [bib, pdf].

    @inproceedings{tsth:control-contracts,
      author = {Asumu Takikawa and T. Stephen Strickland and Sam Tobin-Hochstadt},
      title = {Constraining Delimited Control with Contracts},
      booktitle = {Programming Languages and Systems},
      series = {Lecture Notes in Computer Science},
      volume = {7792},
      year = 2013,
      month = mar,
      pages = {229--248},
      location = {Rome, Italy},
    }
  • The Ruby Type Checker. Brianna M. Ren, John Toman, T. Stephen Strickland, and Jeffrey S. Foster. OOPS track at SAC 2013. [bib, pdf].

    @inproceedings{rtsf:rtc,
      author = {Brianna M. Ren and John Toman and T.~Stephen Strickland and Jeffrey S. Foster},
      title = {The {R}uby Type Checker},
      booktitle = {SAC '13: Proceedings of the 28th Annual ACM Symposium on Applied Computing},
      year = 2013,
      pages = {1565--1572},
      month = mar,
      location = {Coimbra, Portugal},
    }
  • Gradual Typing for First-Class Classes. Asumu Takikawa, T. Stephen Strickland, Christos Dimoulas, Sam Tobin-Hochstadt, and Matthias Felleisen. OOPSLA 2012. (Best Student Paper) [bib, pdf].

    @inproceedings{tsdthf:fcc-gradual,
      author = {Asumu Takikawa and T.~Stephen Strickland and Christos Dimoulas and Sam Tobin-Hochstadt and Matthias Felleisen},
      title = {Gradual Typing for First-Class Classes},
      booktitle = {OOPSLA '12: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
      pages = {793--810},
      year = 2012,
      month = oct,
      location = {Tucson, Arizona, USA},
    }
  • Chaperones and Impersonators: Run-time Support for Reasonable Interposition. T. Stephen Strickland, Sam Tobin-Hochstadt, Robert Bruce Findler, and Matthew Flatt. OOPSLA 2012. [bib, pdf, talk, more].

    @inproceedings{sthff:chaperones,
      author = {T.~Stephen Strickland and Sam Tobin-Hochstadt and Robert Bruce Findler and Matthew Flatt},
      title = {Chaperones and Impersonators: Run-time Support for Reasonable Interposition},
      booktitle = {OOPSLA '12: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
      pages = {943--962},
      year = 2012,
      month = oct,
      location = {Tucson, Arizona, USA},
    }
  • Contracts for First-Class Classes. T. Stephen Strickland, and Matthias Felleisen. DLS 2010. [bib, pdf, talk].

    @inproceedings{sf:class-contracts,
      author = {T.~Stephen Strickland and Matthias Felleisen},
      title = {Contracts for First-Class Classes},
      booktitle = {{DLS} '10: Proceedings of the 6th Symposium on Dynamic Languages},
      pages = {97--111},
      year = 2010,
      month = oct,
      location = {Reno/Tahoe, Nevada, USA},
    }
  • Contracts for First-Class Modules. T. Stephen Strickland, and Matthias Felleisen. DLS 2009. [bib, pdf, talk].

    @inproceedings{sf:unit-contracts,
      author = {T.~Stephen Strickland and Matthias Felleisen},
      title = {Contracts for First-Class Modules},
      booktitle = {{DLS} '09: Proceedings of the 5th Symposium on Dynamic Languages},
      pages = {27--38},
      year = 2009,
      month = oct,
      location = {Orlando, Florida, USA},
    }
  • Nested and Dynamic Contract Boundaries. T. Stephen Strickland, and Matthias Felleisen. IFL 2009. [bib, pdf, talk].

    @inproceedings{sf:contract-regions,
      author = {T.~Stephen Strickland and Matthias Felleisen},
      title = {Nested and Dynamic Contract Boundaries},
      booktitle = {IFL 2009},
      series = {Lecture Notes in Computer Science},
      volume = {6041},
      pages = {141--158},
      year = 2010,
    }
  • Practical Variable-Arity Polymorphism. T. Stephen Strickland, Sam Tobin-Hochstadt, and Matthias Felleisen. ESOP 2009. [bib, pdf, talk].

    @inproceedings{sthf:variable-arity,
      author = {T.~Stephen Strickland and Sam Tobin-Hochstadt and Matthias Felleisen},
      title = {Practical Variable-Arity Polymorphism},
      booktitle = {Programming Languages and Systems: ESOP 2009},
      series = {Lecture Notes in Computer Science},
      volume = {5502},
      pages = {32--46},
      year = 2009,
    }

Dissertation

  • Scaling Contracts to Realistic Languages. T. Stephen Strickland. Northeastern University Ph.D. Dissertation, 2012. [bib, pdf].

    @phdthesis{tss:thesis,
      author = {T.~Stephen Strickland},
      title = {{Scaling Contracts to Realistic Languages}},
      school = {Northeastern University},
      year = {2012},
      month = jul,
    }

Technical Reports

  • Chaperones and Impersonators: Run-time Support for Contracts on Higher-Order, Stateful Values. T. Stephen Strickland, Sam Tobin-Hochstadt, Robert Bruce Findler, and Matthew Flatt. NU CCIS Technical Report NU-CCIS-12-01, Jan 2012. [bib, pdf].

    @techreport{NU-CCIS-12-01,
      author = {T.~Stephen Strickland and Sam Tobin-Hochstadt and Robert Bruce Findler and Matthew Flatt},
      title = {Chaperones and Impersonators: Run-time Support for Contracts on Higher-Order, Stateful Values},
      institution = {Northeastern University},
      year = {2012},
      number = {NU-CCIS-12-01},
    }
  • Contracts for First-Class Classes. T. Stephen Strickland, and Matthias Felleisen. NU CCIS Technical Report NU-CCIS-10-04, Aug 2010. [bib, pdf].

    @techreport{NU-CCIS-10-04,
      author = {T.~Stephen Strickland and Matthias Felleisen},
      title = {Contracts for First-Class Classes},
      institution = {Northeastern University},
      year = {2010},
      number = {NU-CCIS-10-04},
    }
  • Variable-Arity Polymorphism. T. Stephen Strickland, Sam Tobin-Hochstadt, and Matthias Felleisen. NU CCIS Technical Report NU-CCIS-08-03, Sept 2008. [bib, pdf].

    @techreport{NU-CCIS-08-03,
      author = {T.~Stephen Strickland and Sam Tobin-Hochstadt and Matthias Felleisen},
      title = {Variable-Arity Polymorphism},
      institution = {Northeastern University},
      year = {2008},
      number = {NU-CCIS-08-03},
    }
  • Variable-Arity Generic Interfaces. T. Stephen Strickland, Richard Cobbe, and Matthias Felleisen. NU CCIS Technical Report NU-CCIS-08-01, May 2008. [bib, pdf].

    @techreport{NU-CCIS-08-01,
      author = {T.~Stephen Strickland and Richard Cobbe and Matthias Felleisen},
      title = {Variable-Arity Generic Interfaces},
      institution = {Northeastern University},
      year = {2008},
      number = {NU-CCIS-08-01},
    }

Miscellaneous

You can download my PGP and GPG keys, but it's probably better to just grab them from a good public key server like the MIT PGP Key Server to ensure you get a current copy. You can either search for Stevie Strickland or just get keyids 0xAE7637D9 and 0x23A6D909. Feel free to contact me if you'd like to meet up to have your keys signed.

Valid XHTML 1.1 Valid CSS Racket