All Publications [ bibtex ]

Recent Drafts

Journal, Conference, and Workshop Papers

2017

User Interactions and Permission Use on Android
Kristopher Micinski, Daniel Votipka, Rock Stevens, Nikolaos Kofinas, Michelle L. Mazurek, and Jeffrey S. Foster
In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI), Denver, Colorado, May 2017. To appear.
[ bibtex ]

An Empirical Study of Adaptive Concretization for Parallel Program Synthesis
Jinseong Jeon, Xiaokang Qiu, Armando Solar-Lezama, and Jeffrey S. Foster
Formal Methods in System Design (FMSD), 50(1):75–95, March 2017.
tags: synthesis
[ bibtex | doi ]

2016

iGen: Dynamic Interaction Inference for Configurable Software
ThanhVu Nguyen, Ugur Koc, Javran Cheng, Jeffrey S. Foster, and Adam A. Porter
In ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pages 655–665, Seattle, WA, November 2016.
[ bibtex | doi ]

Just-in-Time Static Type Checking for Dynamic Languages
Brianna M. Ren and Jeffrey S. Foster
In Proceedings of the 2016 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 462–476, Santa Barbara, CA, June 2016.
tags: dyn langs, types
[ bibtex | doi ]

Synthesizing Framework Models for Symbolic Execution
Jinseong Jeon, Xiaokang Qiu, Jonathan Fetter-Degges, Jeffrey S. Foster, and Armando Solar-Lezama
In Proceedings of the 35th International Conference on Software Engineering (ICSE), Austin, TX, May 2016.
tags: synthesis
[ bibtex | doi ]

2015

Incremental Computation with Names
Matthew A. Hammer, Joshua Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks, and David Van Horn
In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 748–655, Pittsburgh, Pennsylvania, USA, October 2015.
[ bibtex | doi ]

JSketch: Sketching for Java
Jinseong Jeon, Xiaokang Qiu, Armando Solar-Lezama, and Jeffrey S. Foster
In European Software Engineering Conference and Foundations of Software Engineering (ESEC/FSE), Tool Demo Track, Bergamo, Italy, September 2015.
tags: java, synthesis
[ bibtex | doi ]

Checking Interaction-Based Declassification Policies for Android Using Symbolic Execution
Kristopher Micinski, Jonathan Fetter-Degges, Jinseong Jeon, Jeffrey S. Foster, and Michael R. Clarkson
In European Symposium on Research in Computer Security (ESORICS), volume 9327 of Lecture Notes in Computer Science, pages 520–538, Vienna, Austria, September 2015.
tags: android, security, symbolic exec
[ bibtex | doi ]

Adaptive Concretization for Parallel Program Synthesis
Jinseong Jeon, Xiaokang Qiu, Armando Solar-Lezama, and Jeffrey S. Foster
In Computer Aided Verification (CAV), volume 9207 of Lecture Notes in Computer Science, pages 377–394, San Francisco, CA, USA, July 2015. Springer International Publishing.
tags: synthesis
[ bibtex | doi ]

C-Strider: Type-Aware Heap Traversal for C
Karla Saur, Edward K. Smith, Michael Hicks, and Jeffrey S. Foster
Software: Practice & Experience (SPE), May 2015.
tags: dsu
[ bibtex | doi ]

2014

Contracts for Domain-Specific Languages in Ruby
T. Stephen Strickland, Brianna Ren, and Jeffrey S. Foster
In Dynamic Languages Symposium (DLS), Portland, OR, October 2014.
tags: dsl, dyn langs
[ bibtex ]

Kitsune: Efficient, General-purpose Dynamic Software Updating for C
Christopher M. Hayden, Karla Saur, Edward K. Smith, Michael Hicks, and Jeffrey S. Foster
ACM Transactions of Programming Languages and Systems (TOPLAS), 36(4), October 2014.
tags: dsu
[ bibtex | doi ]

Adapton: Composable, Demand-Driven Incremental Computation
Matthew Hammer, Yit Phang Khoo, Michael Hicks, and Jeffrey S. Foster
In Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 156–166 June 2014.
tags: incremental comp
[ bibtex | doi ]

iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees
Charles Song, Adam Porter, and Jeffrey S. Foster
IEEE Transactions on Software Engineering (TSE), 40(3):251–265, March 2014.
tags: configs
[ bibtex | doi ]

2013

Expositor: Scriptable Time-Travel Debugging with First-Class Traces
Yit Phang Khoo, Jeffrey S. Foster, and Michael Hicks
In Proceedings of the 35th International Conference on Software Engineering (ICSE), pages 352–361, San Francisco, May 2013.
tags: debugging
[ bibtex ]

An Empirical Study of Location Truncation on Android
Kristopher Micinski, Philip Phelps, and Jeffrey S. Foster
In Mobile Security Technologies (MoST), San Francisco, CA, May 2013.
tags: android, security
[ bibtex ]

The Ruby Type Checker
Brianna M. Ren, John Toman, T. Stephen Strickland, and Jeffrey S. Foster
In Object-Oriented Program Languages and Systems (OOPS) Track at ACM Symposium on Applied Computing, pages 1565–1572, Coimbra, Portugal, March 2013.
tags: dyn langs, types
[ bibtex | doi ]

2012

Evaluating Dynamic Software Update Safety Using Efficient Systematic Testing
Christopher M. Hayden, Edward K. Smith, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
IEEE Transactions on Software Engineering (TSE), 38(6):1340–1354, November/December 2012.
tags: dsu
[ bibtex | doi ]

Kitsune: Efficient, General-purpose Dynamic Software Updating for C
Christopher M. Hayden, Edward K. Smith, Michail Denchev, Michael Hicks, and Jeffrey S. Foster
In ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 249–264, Tuscon, Arizona, October 2012.
tags: dsu
[ bibtex ]

Dr. Android and Mr. Hide: Fine-grained Permissions in Android Applications
Jinseong Jeon, Kristopher K. Micinski, Jeffrey A. Vaughan, Ari Fogel, Nikhilesh Reddy, Jeffrey S. Foster, and Todd Millstein
In ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices (SPSM), pages 3–14, Raleigh, NC, USA, October 2012.
tags: analysis, android, security
[ bibtex | doi ]

iTree: Efficiently Discovering High-Coverage Configurations Using Interaction Trees
Charles Song, Adam Porter, and Jeffrey S. Foster
In Proceedings of the 34th International Conference on Software Engineering (ICSE), pages 903–913, Zurich, Switzerland, June 2012.
tags: configs
[ bibtex | doi ]

Towards Standardized Benchmarks for Dynamic Software Updating Systems
Edward K. Smith, Michael Hicks, and Jeffrey S. Foster
In ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), pages 11–15, Zurich, Switzerland, June 2012.
tags: dsu
[ bibtex | doi ]

A Study of Dynamic Software Update Quiescence for Multithreaded Programs
Christopher M. Hayden, Karla Saur, Michael Hicks, and Jeffrey S. Foster
In ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), pages 6–10, Zurich, Switzerland, June 2012.
tags: dsu
[ bibtex | doi ]

Specifying and Verifying the Correctness of Dynamic Software Updates
Stephen Magill, Christopher M. Hayden, Michael Hicks, Nate Foster, and Jeffrey S. Foster
In Rajeev Joshi, Peter Müller, and Andreas Podelski, editors, Verified Software: Theories, Tools and Experiments (VSTTE), volume 7152 of Lecture Notes in Computer Science, pages 278–293, Philadelphia, USA, January 2012. Springer Berlin / Heidelberg.
tags: analysis, dsu
[ bibtex | doi ]

Template-based Program Verification and Program Synthesis
Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster
International Journal on Software Tools for Technology Transfer (STTT), special issue on Algorithmic Program Synthesis:1–22, January 2012.
tags: analysis, synthesis
[ bibtex | doi ]

2011

Directed symbolic execution
Kin-Keung Ma, Yit Phang Khoo, Jeffrey S. Foster, and Michael Hicks
In Eran Yahav, editor, The 18th International Static Analysis Symposium (SAS), volume 6887 of Lecture Notes in Computer Science, pages 95–111, Venice, Italy, September 2011. Springer Berlin / Heidelberg.
tags: analysis, otter, symbolic exec
[ bibtex | doi ]

Path-Based Inductive Synthesis for Program Inversion
Saurabh Srivastava, Sumit Gulwani, Swarat Chaudhuri, and Jeffrey S. Foster
In Proceedings of the 2011 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 492–503, San Jose, California, June 2011.
tags: synthesis
[ bibtex | doi ]

State Transfer for Clear and Efficient Runtime Updates
Christopher M. Hayden, Edward K. Smith, Michael Hicks, and Jeffrey S. Foster
In ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), pages 179–184, Hannover, Germany, April 2011.
tags: dsu
[ bibtex | doi ]

Dynamic Inference of Static Types for Ruby
Jong-hoon (David) An, Avik Chaudhuri, Jeffrey S. Foster, and Michael Hicks
In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 459–472, Austin, TX, USA, January 2011.
tags: analysis, dyn langs, types
[ bibtex | doi ]

Position Paper: Dynamically Inferred Types for Dynamic Languages
Jong-hoon (David) An, Avik Chaudhuri, Jeffrey S. Foster, and Michael Hicks
In 2nd International Workshop on Script to Program Evolution (STOP), Austin, TX, USA, January 2011.
tags: analysis, dyn langs, types
[ bibtex ]

Locksmith: Practical Static Race Detection for C
Polyvios Pratikakis, Jeffrey S. Foster, and Michael Hicks
ACM Transactions on Programming Languages and Systems (TOPLAS), 33(1):3:1–3:55, January 2011.
tags: analysis, races
[ bibtex | doi ]

2010

Symbolic Security Analysis of Ruby-on-Rails Web Applications
Avik Chaudhuri and Jeffrey S. Foster
In Proceedings of the 17th ACM Conference on Computer and Communications Security (CCS), pages 585–594, Chicago, IL, USA, October 2010.
tags: analysis, dyn langs, security, symbolic exec
[ bibtex | doi ]

Score: Agile Research Group Management
Michael Hicks and Jeffrey S. Foster
Communications of the ACM (CACM):30–31, October 2010. Viewpoint.
[ bibtex | doi ]

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), pages 436–447, Toronto, Canada, June 2010.
tags: analysis, otter, symbolic exec, types
[ bibtex | doi ]

Using Symbolic Evaluation to Understand Behavior in Configurable Software Systems
Elnatan Reisner, Charles Song, Kin-Keung Ma, Jeffrey S. Foster, and Adam Porter
In Proceedings of the 32nd International Conference on Software Engineering (ICSE), pages 445–454, Cape Town, South Africa, May 2010.
tags: configs, otter, symbolic exec
[ 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.
tags: analysis, synthesis
[ bibtex | doi ]

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 ]

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.
tags: analysis, dyn langs, types
[ 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.
tags: dyn langs, types, usability
[ 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.
tags: analysis, races, usability
[ 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.
tags: analysis, dyn langs
[ 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.
tags: dyn langs
[ bibtex | doi ]

Efficient Systematic Testing for Dynamically Updatable Software
Christopher M. Hayden, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
In ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), Orlando, Florida, October 2009.
tags: dsu
[ 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.
tags: analysis, dyn langs, types
[ 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.
tags: analysis, dyn langs, types
[ bibtex ]

VS<sup>3</sup>: 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.
tags: analysis
[ 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.
tags: analysis, dyn langs, types
[ 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.
tags: analysis, races, usability
[ 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.
tags: analysis, types
[ 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.
tags: analysis, ffi, types
[ 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.
tags: analysis, modules, types
[ 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.
tags: analysis, security
[ 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.
tags: analysis, dsu, races, types
[ bibtex | doi ]

2007

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.
tags: analysis, java, quals, types
[ bibtex | doi ]

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.
tags: analysis, java, pointers
[ 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.
tags: analysis
[ 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.
tags: analysis, modules, types
[ 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.
tags: analysis, quals, security, types
[ bibtex | doi ]

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.
tags: analysis, types
[ 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.
tags: analysis, protocols
[ 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.
tags: analysis, races
[ 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.
tags: analysis, races
[ bibtex ]

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.
tags: analysis, ffi, types
[ 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 62–72, Chicago, Illinois, USA, June 2005.
tags: analysis, ffi, types
[ 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.
tags: analysis
[ 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.
tags: analysis, java
[ 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.
tags: analysis, quals, types
[ 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.
tags: analysis, pointers
[ bibtex | doi ]

2002

Type Qualifiers: Lightweight Specifications to Improve Software Quality
Jeffrey Scott Foster
PhD thesis, University of California, Berkeley, December 2002.
tags: analysis, quals, security, types
[ 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.
tags: analysis, quals, types
[ 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.
tags: analysis, quals, security, types
[ 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.
tags: analysis, pointers
[ 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.
tags: analysis, security
[ 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 192–203, Atlanta, Georgia, May 1999.
tags: analysis, quals, types
[ 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.
tags: analysis, pointers
[ 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.
tags: analysis, types
[ bibtex | doi ]

1996

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

Technical Reports

Just-in-Time Static Type Checking for Dynamic Languages
Brianna M. Ren and Jeffrey S. Foster
Technical Report arXiv:1604.03641, CoRR, April 2016.
tags: dyn langs, types
[ bibtex ]

JSketch: Sketching for Java
Jinseong Jeon, Xiaokang Qiu, Armando Solar-Lezama, and Jeffrey S. Foster
Technical Report arXiv:1507.03577, CoRR, July 2015.
tags: java, synthesis
[ bibtex ]

Checking Interaction-Based Declassification Policies for Android Using Symbolic Execution
Kristopher Micinski, Jonathan Fetter-Degges, Jinseong Jeon, Jeffrey S. Foster, and Michael R. Clarkson
Technical Report arXiv:1504.03711, CoRR, July 2015.
tags: android, security
[ bibtex ]

Incremental Computation with Names
Matthew A. Hammer, Joshua Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks, and David Van Horn
Technical Report arXiv:1503.07792, CoRR, March 2015.
tags: incremental comp
[ bibtex ]

Adapton: Composable, Demand-Driven Incremental Computation
Matthew A. Hammer, Yit Phang Khoo, Michael Hicks, and Jeffrey S. Foster
Technical Report CS-TR-5027, Department of Computer Science, University of Maryland, College Park, July 2013.
tags: incremental comp
[ bibtex | doi ]

Expositor: Scriptable Time-Travel Debugging with First-Class Traces
Yit Phang Khoo, Jeffrey S. Foster, and Michael Hicks
Technical Report CS-TR-5021, Department of Computer Science, University of Maryland, College Park, February 2013.
tags: debugging
[ bibtex | doi ]

Troyd: Integration Testing for Android
Jinseong Jeon and Jeffrey S. Foster
Technical Report CS-TR-5013, Department of Computer Science, University of Maryland, College Park, August 2012.
tags: android
[ bibtex | doi ]

SymDroid: Symbolic Execution for Dalvik Bytecode
Jinseong Jeon, Kristopher K. Micinski, and Jeffrey S. Foster
Technical Report CS-TR-5022, Department of Computer Science, University of Maryland, College Park, July 2012.
tags: android, security, symbolic exec
[ bibtex | doi ]

Dr. Android and Mr. Hide: Fine-grained security policies on unmodified Android
Jinseong Jeon, Kristopher K. Micinski, Jeffrey A. Vaughan, Nikhilesh Reddy, Yixin Zhu, Jeffrey S. Foster, and Todd Millstein
Technical Report CS-TR-5006, Department of Computer Science, University of Maryland, College Park, December 2011.
tags: android, security
[ bibtex | doi ]

Evaluating Dynamic Software Update Safety Using Systematic Testing
Christopher M. Hayden, Edward K. Smith, Eric A. Hardisty, Michael Hicks, and Jeffrey S. Foster
Technical Report CS-TR-4993, Computer Science Department, University of Maryland, College Park, September 2011.
tags: dsu
[ bibtex | doi ]

MultiOtter: Multiprocess Symbolic Execution
Jonathan Turpie, Elnatan Reisner, Jeffrey S. Foster, and Michael Hicks
Technical Report CS-TR-4982, Department of Computer Science, University of Maryland, College Park, August 2011.
[ bibtex | doi ]

Application-centric security policies on unmodified Android
Nikhilesh Reddy, Jinseong Jeon, Jeffrey A. Vaughan, Todd Millstein, and Jeffrey S. Foster
Technical Report UCLA TR 110017, University of California, Los Angeles, Computer Science Department, July 2011.
tags: android, security
[ bibtex ]

Directed symbolic execution
Kin-Keung Ma, Yit Phang Khoo, Jeffrey S. Foster, and Michael Hicks
Technical Report CS-TR-4979, Department of Computer Science, University of Maryland, College Park, April 2011.
tags: analysis, otter, symbolic exec
[ bibtex | doi ]

Adapting Scrum to Managing a Research Group
Michael Hicks and Jeffrey S. Foster
Technical Report CS-TR-4966, Department of Computer Science, University of Maryland, College Park, September 2010.
[ bibtex | doi ]

Dynamic Inference of Static Types for Ruby
Jong-hoon (Daivd) An, Avik Chaudhuri, Jeffrey S. Foster, and Michael Hicks
Technical Report CS-TR-4965, Department of Computer Science, University of Maryland, College Park, July 2010.
tags: analysis, dyn langs, types
[ bibtex | doi ]

Program Inversion Revisited
Saurabh Srivastava, Sumit Gulwani, Swarat Chaudhuri, and Jeff Foster
Technical Report MSR-TR-2010-34, Microsoft Research, April 2010.
tags: synthesis
[ bibtex ]

Mixing Type Checking and Symbolic Execution (Extended Version)
Yit Phang Khoo, Bor-Yun Evan Chang, and Jeffrey S. Foster
Technical Report CS-TR-4954, Computer Science Department, University of Maryland, College Park, March 2010.
tags: analysis, otter, symbolic exec, types
[ bibtex | doi ]

Static Typing for Ruby on Rails
Jong-hoon (David) An, Avik Chaudhuri, and Jeffrey S. Foster
Technical Report CS-TR-4950, Department of Computer Science, University of Maryland, College Park, January 2010.
tags: analysis, dyn langs, types
[ bibtex | doi ]

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.
tags: configs, otter
[ bibtex | doi ]

SCanDroid: Automated Security Certification of Android Applications
Adam P. Fuchs, Avik Chaudhuri, and Jeffrey S. Foster
Technical Report CS-TR-4991, Department of Computer Science, University of Maryland, College Park, November 2009.
tags: analysis, android, security
[ 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.
tags: dsu
[ 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.
tags: configs, otter
[ 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.
tags: analysis, dyn langs, types
[ bibtex | doi ]

Path Projection for User-Centered Static Analysis Tools
Yit Phang Khoo, Jeffrey S. Foster, Michael Hicks, and Vibha Sazawal
Technical Report CS-TR-4919, Computer Science Department, University of Maryland, College Park, August 2008.
tags: analysis, races, usability
[ 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.
tags: dyn langs
[ 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.
tags: analysis, dsu, races, types
[ 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.
tags: analysis, modules, types
[ 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.
tags: analysis, modules, types
[ 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.
tags: analysis, races
[ 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.
tags: analysis, ffi, types
[ 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.
tags: analysis, types
[ bibtex | doi ]

Checking Type Safety of Foreign Function Calls
Michael Furr and Jeffrey S. Foster
Technical Report CS-TR-4627, Computer Science Department, University of Maryland, College Park, November 2004.
tags: analysis, ffi, types
[ 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.
tags: security, types
[ 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.
tags: analysis, quals, types
[ 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.
tags: analysis, pointers
[ 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.
tags: analysis, pointers
[ 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.
tags: analysis, types
[ 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.
tags: analysis, pointers
[ bibtex ]