Frederick Smith
Curriculum Vitae

Frederick M. Smith

Resear Statement
Projects & Software Released
Papers & Tech Reports
Curriculum Vitae
image Gallery
Contact Information

Download PS
Send Me Mail


  • Ph.D. candidate, Cornell University, Computer Science, 1995-present
    Greg Morrisett and Dexter Kozen, advisors. Math Minor. GPA: 4.0
  • M.S., Cornell University, Computer Science, 1999
  • B.A., Vanderbilt University, Math & Physics, 1995
    summa cum laude, GPA: 3.9

Research & Teaching Experience

  • Research Assistant 1997-present
    Researched type systems and optimization techniques for run-time code generation (RTCG). Built an optimizing and certifying compiler supporting RTCG. Evaluated the compiler's performance with micro-benchmarks, an instruction set simulator and a ray-tracer.

  • Programming Contest Organizer Summer 2000
    Developed the reference implementation for the International Conference on Functional Programming (ICFP) contest, and answered questions from contestants.

  • Consultant summer 1999-2000
    Developed Hancock, a domain-specific language for processing large volumes of data, at AT&T labs. Participated both in the language design, and compiler implementation. (Worked part-time after the summer of 1999.) (with Kathleen Fisher and Anne Rogers)

  • Instructor fall 1998
    Designed and taught an intensive 4 week course (Introduction to C) to 25 students.

  • Teaching Assistant fall 1997
    Graded assignments for the course Algorithms and Data Structures. Developed the class project.

  • Research Assistant (supported by NSF) 1996-1997
    Developed and evaluated a new variant of the mostly-copying garbage collection algorithm. (with Greg Morrisett)

  • Research Assistant (supported by NSF) summer 1996
    Proved completeness and decidability for Kleene Algebra with Tests. (with Dexter Kozen)

Refereed Publications

  1. Compiling for Run-time Code Generation
    Submitted for publication to JFP SAIG.
    Frederick Smith, Dan Grossman, Greg Morrisett, Luke Hornof, and Trevor Jim

  2. Hancock: A Language for Extracting Signatures from Data Streams
    Proc. of the Sixth ACM International Conference on Knowledge Discovery and Data Mining (SIGKDD), Boston, MA, August 2000, 9-17. (Awarded Best Paper)
    Corinna Cortes, Kathleen Fisher, Daryl Pregibon, Anne Rogers, and Frederick Smith

  3. Alias Types
    European Symposium on Programming (ESOP '00), Berlin, Germany, October 2000, 366-381.
    Frederick Smith, David Walker, and Greg Morrisett

  4. Hancock: A Language for Processing Very Large Scale Data
    USENIX 2nd Conference on Domain-Specific Languages 1999, 163-176.
    Dan Bonachea, Anne Rogers, Kathleen Fisher, and Frederick Smith

  5. Comparing Mostly-Copying and Mark-Sweep Conservative Collection
    Proc. of the International Symposium on Memory Management (ISMM '98), Vancouver, British Columbia, October 1998, 68-78.
    Frederick Smith and Greg Morrisett

  6. Kleene Algebra with Tests: Completeness and Decidability
    Proc. of the 10th International Workshop on Computer Science Logic (CSL '96), ed D. van Dalen and M. Bezem, Utrecht, Netherlands, Springer-Verlag Lecture Notes in Computer Science, vol. 1258, September 1996, 244-259.
    Dexter Kozen and Frederick Smith

Honors & Awards

  • Best Paper Award SIGKDD 2000
  • National Science Foundation Fellowship (1995-1998)
  • Phi Beta Kappa honor society

Software Released

  • MCC: a mostly-copying garbage collector. MCC provides high performance memory management for compilers targetting C and seamless integration with legacy C code. In general, its underlying algorithms are useful for supporting language inter-operability. The prototype compiler for the advanced object-oriented language Moby uses a collector based on MCC.

  • hcc: a compiler for the domain-specific language Hancock. Hancock is designed for processing large volumes of data, and is used within AT&T for the purpose of detecting telephone fraud. hcc can be freely downloaded for non-commercial use.

  • Cyclone: an optimizing compiler for a safe C-like language supporting RTCG. The Cyclone compiler produces Typed Assembly Language(TAL) which can be checked for type-safety. Cyclone is available as part of the TAL distribution.

Personal Information

  • Citizenship: USA
  • Languages: English, Swedish, Portuguese, and some Japanese.


  • Greg Morrisett (
  • Dexter Kozen (
  • Anne Rogers (
  • Kathleen Fisher (

Contact Information

Address: 4122 Upson Hall, Computer Science Dept.,
  Cornell University,
  Ithaca, NY 14853-7501
Telephone: (Work) (607) 255-0110, (Home) (607) 256-5464