All Publications

Recent Drafts

Symbolic Security Analysis of Ruby-on-Rails Web Applications
Avik Chaudhuri and Jeffrey S. Foster
April 2010, Under submission.
bibtex

Evaluating Dynamic Software Update Safety Using Efficient Systematic Testing
Christopher M. Hayden, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
April 2010, Under submission.
bibtex

Journal, Conference, and Workshop Papers

2010

Locksmith: Practical Static Race Detection for C
Polyvios Pratikakis, Jeffrey S. Foster, and Michael Hicks
ACM Transactions on Programming Languages and Systems (TOPLAS), 2010. To appear.
bibtex

Score: Agile Research Group Management
Michael Hicks and Jeffrey S. Foster
Communications of the ACM (CACM), October 2010. Viewpoint; to appear.
bibtex

Mixing Type Checking and Symbolic Execution
Yit Phang Khoo, Bor-Yuh Evan Chang, and Jeffrey S. Foster
In Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, June 2010. To appear.
bibtex

Using Symbolic Evaluation to Understand Behavior in Configurable Software Systems
Elnatan Reisner, Charles Song, Kin-Keun Ma, Jeffrey S. Foster, and Adam Porter
In Proceedings of the 32nd International Conference on Software Engineering (ICSE), Cape Town, South Africa, May 2010.
bibtex

Serializing C intermediate representations for efficient and portable parsing
Jeffrey A. Meister, Jeffrey S. Foster, and Michael Hicks
Software Practice & Experience (SPE), 40(3):225-238, January 2010.
bibtex doi

From Program Verification to Program Synthesis
Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster
In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 313-326, Madrid, Spain, January 2010.
bibtex doi

2009

Static Typing for Ruby on Rails
Jong-hoon (David) An, Avik Chaudhuri, and Jeffrey S. Foster
In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 590-594, Auckland, New Zealand, November 2009. Short paper.
bibtex doi

Work In Progress: an Empirical Study of Static Typing in Ruby
Mark T. Daly, Vibha Sazawal, and Jeffrey S. Foster
In Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU), Orlando, Florida, October 2009.
bibtex

Triaging Checklists: a Substitute for a PhD in Static Analysis
Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks, and Vibha Sazawal
In Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU), Orlando, Florida, October 2009.
bibtex

The Ruby Intermediate Langauge
Michael Furr, Jong-hoon (David) An, Jeffrey S. Foster, and Michael Hicks
In Dynamic Languages Symposium (DLS), pages 89-98, Orlando, Florida, October 2009.
bibtex doi

Profile-Guided Static Typing for Dynamic Scripting Languages
Michael Furr, Jong-hoon (David) An, and Jeffrey S. Foster
In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 283-300, Orlando, Floria, October 2009. Best student paper award.
bibtex doi

Efficient Systematic Testing for Dynamically Updatable Software
Christopher M. Hayden, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
In Second ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), Orlando, Florida, October 2009.
bibtex doi

Directing JavaScript with Arrows
Yit Phang Khoo, Michael Hicks, Jeffrey S. Foster, and Vibha Sazawal
In Dynamic Languages Symposium (DLS), pages 49-58, Orlando, Florida, October 2009.
bibtex doi

Tests to the Left of Me, Types to the Right: How Not to Get Stuck in the Middle of a Ruby Execution (A Demo of Diamondback Ruby)
Michael Furr, Jong-hoon (David) An, Jeffrey S. Foster, and Michael Hicks
In 1st International Workshop on Script to Program Evolution (STOP), Genova, Italy, July 2009.
bibtex

VS3: SMT Solvers for Program Verification (Tools Paper)
Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster
In Ahmed Bouajjani and Oded Maler, editors, Computer Aided Verification (CAV), volume 5643 of Lecture Notes in Computer Science, pages 702-708, Grenoble, France, June/July 2009. Springer.
bibtex doi

Static Type Inference for Ruby
Michael Furr, Jong-hoon (David) An, Jeffrey S. Foster, and Michael Hicks
In Object-Oriented Program Languages and Systems (OOPS) Track at ACM Symposium on Applied Computing (SAC), pages 1859-1866, Honolulu, Hawaii, March 2009.
bibtex doi

2008

Path Projection for User-Centered Static Analysis Tools
Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks, and Vibha Sazawal
In Program Analysis for Software Tools and Engineering (PASTE), pages 57-63, Atlanta, Georgia, November 2008.
bibtex doi

Formalizing Soundness of Contextual Effects
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, and Iulian Neamtiu
In 21st International Conference on Theorem Proving in Higher Order Logics (TPHOLs), volume 5170 of Lecture Notes in Computer Science, pages 262-277, Montreal, Canada, August 2008. Springer.
bibtex doi

Checking Type Safety of Foreign Function Calls
Michael Furr and Jeffrey S. Foster
ACM Transactions on Programming Languages and Systems (TOPLAS), 30(4):1-63, July 2008.
bibtex doi

Modular Information Hiding and Type-Safe Linking for C
Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, and Patrick Jenkins
IEEE Transactions on Software Engineering (TSE), 34(3):357-376, May/June 2008.
bibtex doi

Rule-Based Static Analysis of Network Protocol Implementations
Octavian Udrea, Cristian Lumezanu, and Jeffrey S. Foster
Information and Computation, Joint Workshop on Foundations of Computer Security and Automated Reasoning for Security Protocol Analysis (FCS-ARSPA'06), 206(2-4):130-157, February/April 2008.
bibtex doi

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, and Polyvios Pratikakis
In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 37-49, San Francisco, USA, January 2008.
bibtex doi

2007

Inferring Aliasing and Encapsulation Properties for Java
Kin-Keung Ma and Jeffrey S. Foster
In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 423-440, Montreal, Canada, October 2007.
bibtex doi

Type Qualifier Inference for Java
David Greenfieldboyce and Jeffrey S. Foster
In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 321-336, Montreal, Canada, October 2007.
bibtex doi

Improving Software Quality with Static Analysis
Jeffrey S. Foster, Michael W. Hicks, and Williams Pugh
In Program Analysis for Software Tools and Engineering (PASTE), pages 83-84, San Diego, California, June 2007. Research group presentation.
bibtex doi

Modular Information Hiding and Type-Safe Linking for C
Saurabh Srivastava, Michael Hicks, and Jeffrey S. Foster
In ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI), pages 3-14, Nice, France, January 2007.
bibtex doi

2006

Flow-Insensitive Type Qualifiers
Jeffrey S. Foster, Robert Johnson, John Kodumal, and Alex Aiken
ACM Transactions of Programming Languages and Systems (TOPLAS), 28(6):1035-1087, November 2006.
bibtex doi

Rule-Based Static Analysis of Network Protocol Implementations
Octavian Udrea, Christian Lumezanu, and Jeffrey S. Foster
In 15th USENIX Security Symposium, pages 193-208, Vancouver, British Columbia, Canada, August 2006.
bibtex

Existential Label Flow Inference via CFL Reachability
Polyvios Pratikakis, Jeffrey S. Foster, and Michael Hicks
In The 13th International Static Analysis Symposium (SAS), volume 4134 of Lecture Notes in Computer Science, pages 88-106, Seoul, Korea, August 2006. Springer.
bibtex doi

Lock Inference for Atomic Sections
Michael Hicks, Jeffrey S. Foster, and Polyvios Pratikakis
In First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, Ottawa, Canada, June 2006.
bibtex

Locksmith: Context-Sensitive Correlation Analysis for Race Detection
Polyvios Pratikakis, Jeffrey S. Foster, and Michael Hicks
In Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 320-331, Ottawa, Canada, June 2006.
bibtex doi

Polymorphic Type Inference for the JNI
Michael Furr and Jeffrey S. Foster
In European Symposium on Programming (ESOP), volume 3924 of Lecture Notes in Computer Science, pages 309-324, Vienna, Austria, March 2006. Springer.
bibtex doi

2005

Checking Type Safety of Foreign Function Calls
Michael Furr and Jeffrey S. Foster
In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 52-72, Chicago, Illinois, USA, June 2005.
bibtex doi

Understanding Source Code Evolution Using Abstract Syntax Tree Matching
Iulian Neamtiu, Jeffrey S. Foster, and Michael Hicks
In The International Workshop on Mining Software Repositories (MSR), pages 1-5, Saint Louis, Missouri, USA, May 2005.
bibtex doi

2004

A Comparison of Bug Finding Tools for Java
Nick Rutar, Christian B. Almazan, and Jeffrey S. Foster
In 15th IEEE International Symposium on Software Reliability Engineering (ISSRE), pages 245-256, Saint-Malo, Bretagne, France, November 2004.
bibtex doi

Visualizing Type Qualifier Inference with Eclipse
David Greenfieldboyce and Jeffrey S. Foster
In Workshop on Eclipse Technology eXchange (ETX), pages 57-61, Vancouver, British Columbia, Canada, October 2004.
bibtex

2003

Checking and Inferring Local Non-Aliasing
Alex Aiken, Jeffrey S. Foster, John Kodumal, and Tachio Terauchi
In Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 129-140, San Diego, California, June 2003.
bibtex doi

2002

Type Qualifiers: Lightweight Specifications to Improve Software Quality
Jeffrey Scott Foster
PhD thesis, University of California, Berkeley, December 2002.
bibtex

Flow-Sensitive Type Qualifiers
Jeffrey S. Foster, Tachio Terauchi, and Alex Aiken
In Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 1-12, Berlin, Germany, June 2002.
bibtex doi

2001

Detecting Format String Vulnerabilities with Type Qualifiers
Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, and David Wagner
In Proceedings of the 10th USENIX Security Symposium, pages 201-218, Washington, D.C., August 2001.
bibtex

2000

Polymorphic versus Monomorphic Flow-insensitive Points-to Analysis for C
Jeffrey S. Foster, Manuel Fähndrich, and Alexander Aiken
In Static Analysis, Seventh International Symposium (SAS), volume 1824 of Lecture Notes in Computer Science, pages 175-198, Santa Barbara, California, June/July 2000. Springer-Verlag.
bibtex doi

A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities
David Wagner, Jeffrey S. Foster, Eric A. Brewer, and Alexander Aiken
In Networking and Distributed System Security Symposium (NDSS), San Diego, California, February 2000.
bibtex

1999

A Theory of Type Qualifiers
Jeffrey S. Foster, Manuel Fähndrich, and Alexander Aiken
In Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 193-203, Atlanta, Georgia, May 1999.
bibtex doi

1998

Partial Online Cycle Elimination in Inclusion Constraint Graphs
Manuel Fähndrich, Jeffrey S. Foster, Zhendong Su, and Alexander Aiken
In Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 85-96, Montreal, Canada, June 1998.
bibtex doi

A Toolkit for Constructing Type- and Constraint-Based Program Analyses
Alexander Aiken, Manuel Fähndrich, Jeffrey S. Foster, and Zhendong Su
In Proceedings of the Second International Workshop on Types in Compilation (TIC), volume 1473 of Lecture Notes in Computer Science, pages 78-96, Kyoto, Japan, March 1998. Springer-Verlag.
bibtex doi

1996

CLP(SC): Implementation and Efficiency Considerations
Jeffrey S. Foster
In Workshop on Set Constraints, Cambridge, MA, June 1996.
bibtex

Technical Reports

Using Symbolic Evaluation to Understand Behavior in Configurable Software Systems
Elnatan Reisner, Charles Song, Kin-Keung Ma, Jeffrey S. Foster, and Adam Porter
Technical Report CS-TR-4946, Computer Science Department, University of Maryland, College Park, December 2009.
bibtex doi

A Testing Based Empirical Study of Dynamic Software Update Safety Restrictions
Christopher M. Hayden, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
Technical Report CS-TR-4949, Computer Science Department, University of Maryland, College Park, October 2009.
bibtex doi

Evaluating Interaction Patterns in Configurable Software Systems
Elnatan Reisner, Charles Song, Kin-Keung Ma, Jeffrey S. Foster, and Adam Porter
Technical Report CS-TR-4940, Computer Science Department, University of Maryland, College Park, June 2009.
bibtex doi

Profile-Guided Static Typing for Dynamic Scripting Languages
Michael Furr, Jong-hoon (David) An, and Jeffrey S. Foster
Technical Report CS-TR-4935, Computer Science Department, University of Maryland, College Park, April 2009.
bibtex doi

Directing JavaScript with Arrows (Functional Pearl)
Yit Phang Khoo, Michael Hicks, Jeffrey S. Foster, and Vibha Sazawal
Technical Report cs-tr-4923, Computer Science Department, University of Maryland, College Park, August 2008.
bibtex doi

Path Projection for User-Centered Static Analysis Tools
Yit Phang Khoo, Jeffrey S. Foster, and Vibha Sazawal
Technical Report CS-TR-4919, Computer Science Department, University of Maryland, College Park, August 2008.
bibtex doi

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, and Polyvios Pratikakis
Technical Report CS-TR-4920, Computer Science Department, University of Maryland, College Park, November 2007.
bibtex doi

Appendix to CMod: Modular Information Hiding and Type-Safe Linking for C
Saurabh Srivastava, Michael Hicks, and Jeffrey S. Foster
Technical Report CS-TR-4874, Computer Science Department, University of Maryland, College Park, July 2007.
bibtex

Defining and Enforcing C's Module System
Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, and Bhargab Kanagal
Technical Report CS-TR-4816, Computer Science Department, University of Maryland, College Park, July 2006.
bibtex

Locksmith: Context-Sensitive Correlation Analysis for Race Detection
Polyvios Pratikakis, Jeffrey S. Foster, and Michael Hicks
Technical Report CS-TR-4789, Computer Science Department, University of Maryland, College Park, June 2006.
bibtex doi

Polymorphic Type Inference for the JNI
Michael Furr and Jeff Foster
Technical Report CS-TR-4759, Computer Science Department, University of Maryland, College Park, November 2005.
bibtex doi

Existential Label Flow Inference via CFL Reachability
Polyvios Pratikakis, Michael Hicks, and Jeffrey S. Foster
Technical Report CS-TR-4700, Computer Science Department, University of Maryland, College Park, November 2005.
bibtex doi

Checking Type Safety of Foreign Function Calls
Michael Furr and Jeffrey S. Foster
Technical Report CS-TR-2647, Computer Science Department, University of Maryland, College Park, November 2004.
bibtex doi

Types for Lexically-Scoped Access Control
Tachio Terauchi, Alex Aiken, and Jeffrey S. Foster
Technical Report CSD-03-1282, Computer Science Division, University of California, Berkeley, October 2003.
bibtex

Flow-Sensitive Type Qualifiers
Jeffrey S. Foster, Tachio Terauchi, and Alex Aiken
Technical Report CSD-01-1162, Computer Science Division, University of California, Berkeley, November 2001.
bibtex

Checking Programmer-Specified Non-Aliasing
Jeffrey S. Foster and Alex Aiken
Technical Report CSD-01-1160, Computer Science Division, University of California, Berkeley, October 2001.
bibtex

Polymorphic versus Monomorphic Flow-insensitive Points-to Analysis for C
Jeffrey S. Foster, Manuel Fähndrich, and Alex Aiken
Technical Report CSD-00-1097, Computer Science Division, University of California, Berkeley, April 2000.
bibtex

Tracking Down Exceptions in Standard ML Programs
Alexander Aiken, Manuel Fähndrich, Jeffrey S. Foster, and Jason Cu
Technical Report CSD-98-996, Computer Science Division, University of California, Berkeley, February 1998.
bibtex

Flow-Insensitive Points-to Analysis with Term and Set Constraints
Jeffrey S. Foster, Manuel Fähndrich, and Alexander Aiken
Technical Report CSD-97-964, Computer Science Division, University of California, Berkeley, August 1997.
bibtex

Valid HTML 4.01!