Frances (Spalding) Perry
35 Olden Street, Princeton, NJ 08540•(609) 258-5386• frances@cs.princeton.edu•http://www.cs.princeton.edu/~frances
EDUCATION
Princeton University,
Department of Computer Science, Princeton, NJ
Ph.D. candidate (expected graduation August 2008)
M.A. in Computer Science, April 2005, GPA 4.0
Advisor: David Walker
Cornell University,
School of Arts and Sciences, Ithaca, NY
B.A. cum laude in Computer Science, May 2003, GPA 3.72
RESEARCH EXPERIENCE
Research Assistant
Computer Science Department, Princeton University
Fall 2006 - Present
Advisor: David Walker
Working on Project Zap: Well-typed, trustworthy computing in the presence of transient faults. Analyzing fault-tolerant schemes from a formal perspective using low-level type systems.
Research Intern
Advanced Compiler Technology Group, Microsoft Research
Summer 2006
Mentor: Juan Chen
Helped design and implement a low-level type system for the Bartok Research Compiler.
Research Assistant
Computer Science Department, Princeton University
Spring 2004 - Spring 2006
Advisor: David Walker
Designed a logic-based type system for reasoning about low-level memory management, particularly general data allocation on the stack. Adapted this logic to dynamically reason about heap shape.
Research Intern
Program Analysis Group, Microsoft
Summer 2005
Mentor: Jason Yang
Developed and implemented a sequential analysis for detecting potential deadlocks in Windows code. The tool has found over 100 confirmed concurrency bugs in Windows Vista.
Student Researcher
Computer Science Department, Cornell University
Summer 2002
Advisor: Greg Morrisett
Implemented a post-pass for the Cyclone compiler to convert the generated C code into ANSI C.
TEACHING EXPERIENCE
Teaching Fellow
McGraw Center for Teaching and Learning, Princeton University
Fall 2007
Trained new graduate student teaching assistants.
Participant, Teaching Transcript Program
McGraw Center for Teaching and Learning, Princeton University
Fall 2004-Fall 2007
"Furnishing a record of a student's pedagogical training and formal teaching experience, the teaching transcript helps demonstrate a graduate student's commitment to teaching."
Mentor
Princeton Summer Programming Experiences, Princeton University
Summer 2004, 2007
Mentored Princeton sophomores on summer programming projects.
Assistant in Instruction
CS 126: Introduction to Computer Science, Princeton University
Fall 2005
Led recitation twice a week, held office hours, and graded assignments.
Assistant in Instruction
CS 441: Programming Languages, Princeton University
Fall 2004
Held office hours, graded assignments, and helped develop exams.
Undergraduate Consultant/TA
CS 312: Functional Programming, Cornell University
Fall 2001 - Spring 2003
Led recitation twice a week, held office hours, graded assignments, and helped with course development. Received the Undergraduate TA Award.
REFEREED PUBLICATIONS
Reasoning about Control Flow in the Presence of Transient Faults
Frances Perry and David Walker
International Static Analysis Symposium (SAS), To appear July 2008
Type-Preserving Compilation for Realistic Object-Oriented Compilers
Juan Chen, Chris Hawblitzel, Frances Perry, Mike Emmi, Jeremy Condit, Derrick Coetzee and Polyvios Pratikakis
Programming Language Design and Implementation (PLDI), To appear June 2008
Simple and Flexible Stack Types
Frances Perry, Chris Hawblitzel and Juan Chen
International Workshop on Aliasing, Confinement and Ownership (IWACO), July 2007
Fault-tolerant Typed Assembly Language
Frances Perry, Lester Mackey, George A. Reis, Jay Ligatti, David I. August and David Walker
Programming Language Design and Implementation (PLDI), June 2007
Joint winner of the PLDI 07 Best Paper Award
Expressing Heap-shape Contracts in Linear Logic
Frances Perry, Limin Jia and David Walker
Generative Programming and Component Engineering (GPCE), October 2006
Certifying Compilation for a Language with Stack Allocation
Limin Jia, Frances Spalding [Perry], David Walker and Neal Glew
Logic in Computer Sciences (LICS), June 2005
TECHNICAL REPORTS
Reasoning about Control Flow in the Presence of Transient Faults
Frances Perry and David Walker
Princeton University Technical Report TR-799-07, October 2007
Simple and Flexible Stack Types
Frances Perry, Chris Hawblitzel and Juan Chen
Microsoft Research Technical Report MSR-TR-2007-51, May 2007
Fault-tolerant Typed Assembly Language
Frances Perry, Lester Mackey, George A. Reis, Jay Ligatti, David I. August and David Walker
Princeton University Technical Report TR-776-07, April 2007
Certifying Compilation for a Language with Stack Allocation
Limin Jia, Frances Spalding [Perry], David Walker and Neal Glew
Princeton University Technical Report TR-724-05, March 2005
HONORS & AWARDS
Princeton Engineering Wu Prize for Excellence 2007
Awarded to upper-year graduate students who have performed at the highest level in courses, research, and teaching.
PLDI Best Paper Award 2007
For "Fault-tolerant Typed Assembly Language" by Perry, Mackey, Reis, Ligatti, August, and Walker.
Microsoft Graduate Research Fellowship 2006-2007
Cornell CS Undergraduate TA Award 2003
For Computer Science 312: Functional Programming.
RELATED EXPERIENCE
Science Undergraduate Laboratory Fellowship
Princeton Plasma Physics Laboratory, Princeton University
Summer 2003
Developed a flexible data acquisition system for small experiments.
Applications Developer
Fermi National Accelerator Laboratory, Batavia, IL
Summer 1999, 2000, 2001; Winter 2001, 2002
Developed software tools to assist particle physicists, including an electronic logbook, web-based forms and a data acquisition system.
SERVICE
External Reviewer: SPACE 2006, FLOPS 2008, PLDI 2008
Member: Computer Science Graduate Committee, Cornell Alumni Admissions Ambassador Network, Graduate Women in Science and Engineering