Jeffrey S. Foster

Locksmith: Practical Static Race Detection for C (2009)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks

Locksmith is a static analysis tool for automatically detecting data races in C programs. In this paper, we describe each of Locksmith’s component analyses precisely, and present systematic...

18 Checking Type Safety of Foreign Function Calls (2009)

Michael Furr, Jeffrey S. Foster

Foreign function interfaces (FFIs) allow components in different languages to communicate directly with each other. While FFIs are useful, they often require writing tricky low-level code and include...

Contextual effects for versionconsistent dynamic software updating and safe concurrent programming (2009)

Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

Formalizing Soundness of Contextual Effects (2009)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu

Abstract. A contextual effect system generalizes standard type and effect systems: where a standard effect system computes the effect of an expression e, a contextual effect system additionally...

Flow-Insensitive Type Qualifiers 1 (2009)

Jeffrey S. Foster, Robert Johnson, John Kodumal, Alex Aiken

We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding...

Formalizing Soundness of Contextual Effects (2009)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu

Abstract. A contextual effects system generalizes standard type and effect systems: where a standard effects system computes the effect of an expression e, a contextual effects system additionally...

Abstract LOCKSMITH: Context-Sensitive Correlation (2009)

Polyvios Pratikakis, Jeffrey S. Foster

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called LOCKSMITH...

Abstract Visualizing Type Qualifier Inference with Eclipse (2008)

David Greenfieldboyce, Jeffrey S. Foster

Type qualifiers are a lightweight, practical mechanism for specifying and checking program properties. In previous work, we have developed CQUAL, a tool for adding type qualifiers to C. In this short...

Abstract Improving Software Quality with Static Analysis ∗ (2008)

Jeffrey S. Foster, Michael W. Hicks, William Pugh

At the University of Maryland, we have been working to improve the reliability and security of software by developing new, effective static analysis tools. These tools scan software for bug patterns...

Formalizing Soundness of Contextual Effects (2008)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu

Abstract. A contextual effects system generalizes standard type and effect systems: where a standard effects system computes the effect of an expression e, a contextual effects system additionally...

DRAFT Abstract (2008)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...

Abstract Rule-Based Static Analysis of Network Protocol Implementations (2008)

Octavian Udrea, Cristian Lumezanu, Jeffrey S. Foster

Today’s software systems communicate over the Internet using standard protocols that have been heavily scrutinized, providing some assurance of resistance to malicious attacks and general...

Abstract Rule-Based Static Analysis of Network Protocol Implementations (2008)

Octavian Udrea, Cristian Lumezanu, Jeffrey S. Foster

Today’s software systems communicate over the Internet using standard protocols that have been heavily scrutinized, providing some assurance of resistance to malicious attacks and general...

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming ∗ Abstract (2008)

Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming ∗ Abstract (2008)

Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

Directing JavaScript with Arrows (Functional Pearl) (2008)

Khoo, Yit Phang, Hicks, Michael, Foster, Jeffrey S., Sazawal, Vibha

JavaScript, being a single-threaded language, makes extensive use of event-driven programming to enable responsive web applications. However, standard approaches to sequencing events are messy, and...

Path Projection for User-Centered Static Analysis Tools (2008)

Khoo, Yit-Phang, Foster, Jeffrey S., Hicks, Michael, Sazawal, Vibha

The research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. However, to date most of the work in this area has focused...

Abstract Flow-Sensitive Type Qualifiers ∗ (2008)

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct....

of Program Constructs (2008)

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct....

Flow-Insensitive Type Qualifiers 1 (2008)

Jeffrey S. Foster, Robert Johnson, John Kodumal, Alex Aiken

We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding...

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming ∗ Abstract (2008)

Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

Abstract LOCKSMITH: Context-Sensitive Correlation (2008)

Polyvios Pratikakis, Jeffrey S. Foster

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called LOCKSMITH...

DRAFT Abstract (2008)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...

Abstract Improving Software Quality with Static Analysis ∗ (2008)

Jeffrey S. Foster, Michael W. Hicks, William Pugh

At the University of Maryland, we have been working to improve the reliability and security of software by developing new, effective static analysis tools. These tools scan software for bug patterns...

Abstract A Theory of Type Qualifiers* (2008)

Jeffrey S. Foster, Manuel Fghndrich

We describe a framework for adding type qualifiers to a lan-guage. Type qualifiers encode a simple but highly useful form of subtyping. Our framework extends standard type rules to model the flow of...

Position Paper: A Call for a Public Bug and Tool Registry (2008)

Jeffrey S. Foster

The foundation of the scientific method is the experimental, repeatable validation of hypotheses. However, it is currently extremely difficult to apply this methodology to tools and techniques for...

Abstract Partial Online Cycle Elimination in Inclusion Constraint Graphs (2008)

Manuel Fbhndrich, Jeffrey S. Foster, Zhendong Su Alex, Er Aiken

Many program analyses are naturally formulated and im-plemented using inclusion constraints. We present new re-sults on the scalable implementation of such analyses based on two insights: first, that...

Abstract (2008)

Jeffrey S. Foster

We describe a framework for adding type qualifiers to a language. Type qualifiers encode a simple but highly useful form of subtyping. Our framework extends standard type rules to model the flow of...

of Program Constructs (2008)

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct....

Abstract Detecting Format String Vulnerabilities with Type Qualifiers (2008)

Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, David Wagner

We present a new system for automatically detecting format string security vulnerabilities in C programs using a constraint-based type-inference engine. We describe new techniques for presenting the...

Abstract Detecting Format String Vulnerabilities with Type Qualifiers£ (2008)

Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, David Wagner

We present a new system for automatically detecting format string security vulnerabilities in C programs using a constraint-based type-inference engine. We describe new techniques for presenting the...

Abstract Inferring Aliasing and Encapsulation Properties for Java (2008)

Kin-keung Ma, Jeffrey S. Foster

There are many proposals for language techniques to control aliasing and encapsulation in object oriented programs, typically based on notions of object ownership and pointer uniqueness. Most of...

of Program Constructs (2008)

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct....

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Modular Information Hiding and Type-Safe Linking for C (2008)

Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins

This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Modular Information Hiding and Type-Safe Linking for C (2008)

Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins

This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...

Adapting Scrum to Managing a Research Group (2008)

Michael Hicks, Jeffrey S. Foster

Working with and mentoring Ph.D. students is the central activity in running an academic research group, with two broad goals: (1) to collaboratively produce high-quality research results, and (2) to...

Adapting Scrum to Managing a Research Group (2008)

Michael Hicks, Jeffrey S. Foster

Working with and mentoring Ph.D. students is the central activity in running an academic research group, with two broad goals: (1) to collaboratively produce high-quality research results, and (2) to...

Abstract Detecting Format String Vulnerabilities with Type Qualifiers (2007)

Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, David Wagner

We present a new system for automatically detecting format string security vulnerabilities in C programs using a constraint-based type-inference engine. We describe new techniques for presenting the...

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming (2007)

Neamtiu, Iulian, Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

Contextual Effects for Version-Consistent Dynamic Software Updating and Safe Concurrent Programming (2007)

Neamtiu, Iulian, Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios

This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Modular Information Hiding and Type-Safe Linking for C (2007)

Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins

This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...

Type qualifier inference for Java (2007)

David Greenfieldboyce, Jeffrey S. Foster

Java’s type system provides programmers with strong guarantees of type and memory safety, but there are many important properties not captured by standard Java types. We describe JQual, a tool that...

Type qualifiers for Java (2007)

David Greenfieldboyce, Jeffrey S. Foster

We describe Jqual, a practical framework for type qualifier inference in Java. Jqual is implemented as an Eclipse plug-in that allows researchers to quickly develop and test modifications to the Java...

Type qualifier inference for Java (2007)

David Greenfieldboyce, Jeffrey S. Foster

Java’s type system provides programmers with strong guarantees of type and memory safety, but there are many important properties not captured by standard Java types. We describe JQual, a tool that...

Lock Inference for Atomic Sections (2006)

Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios

To prevent unwanted interactions in multithreaded programs, programmers have traditionally employed pessimistic, blocking concurrency primitives. Using such primitives correctly and efficiently is...

Locksmith: Context-Sensitive Correlation Analysis for Race Detection (2006)

Pratikakis, Polyvios, Foster, Jeffrey S., Hicks, Michael

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...

Locksmith: Context-Sensitive Correlation Analysis for Race Detection (2006)

Pratikakis, Polyvios, Foster, Jeffrey S., Hicks, Michael

One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...

Rule-Based Static Analysis of Network Protocol Implementations (2006)

Octavian Udrea, Cristian Lumezanu, Jeffrey S. Foster

Today’s software systems communicate over the Internet using standard protocols that have been heavily scrutinized, providing some assurance of resistance to malicious attacks and general...

Polymorphic Type Inference for the JNI (2006)

Michael Furr, Jeffrey S. Foster

Abstract. We present a multi-lingual type inference system for checking type safety of programs that use the Java Native Interface (JNI). The JNI uses specially-formatted strings to represent class...

Abstract (2006)

Michael Furr, Jeffrey S. Foster

We present a multi-lingual type inference system for checking type safety of programs that use the Java Native Interface (JNI). The JNI uses specially-formatted strings to represent class and field...

Rule-Based Static Analysis of Network Protocol Implementations (2006)

Octavian Udrea, Cristian Lumezanu, Jeffrey S. Foster

Today’s software systems communicate over the Internet using standard protocols that have been heavily scrutinized, providing some assurance of resistance to malicious attacks and general...

Checking Type Safety of Foreign Function Calls (2005)

Furr, Michael, Foster, Jeffrey S.

We present a multi-lingual type inference system for checking type safety across a foreign function interface. The goal of our system is to prevent foreign function calls from introducing type and...

Checking Type Safety of Foreign Function Calls (2005)

Furr, Michael, Foster, Jeffrey S.

We present a multi-lingual type inference system for checking type safety across a foreign function interface. The goal of our system is to prevent foreign function calls from introducing type and...

Existential Label Flow Inference via CFL Reachability (2005)

Pratikakis, Polyvios, Hicks, Michael, Foster, Jeffrey S.

Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...

Existential Label Flow Inference via CFL Reachability (2005)

Pratikakis, Polyvios, Hicks, Michael, Foster, Jeffrey S.

Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...

Checking type safety of foreign function calls (2005)

Michael Furr, Jeffrey S. Foster

Foreign function interfaces (FFIs) allow components in different languages to communicate directly with each other. While FFIs are useful, they often require writing tricky, low-level code and...

Existential Label Flow Inference via CFL Reachability (2005)

Polyvios Pratikakis, Michael Hicks, Jeffrey S. Foster

Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...

Abstract (2005)

Michael Furr, Jeffrey S. Foster

We present a multi-lingual type inference system for checking type safety of programs that use the Java Native Interface (JNI). The JNI uses specially-formatted strings to represent class and field...

Existential Label Flow Inference via CFL Reachability (2005)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks

Abstract. In programming languages, existential quantification is useful for describing relationships among members of a structured type. For example, we may have a list in which there exists some...

Existential Label Flow Inference via CFL Reachability (2005)

Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks

Abstract. In programming languages, existential quantification is useful for describing relationships among members of a structured type. For example, we may have a list in which there exists some...

Existential Label Flow Inference via CFL Reachability (2005)

Polyvios Pratikakis, Michael Hicks, Jeffrey S. Foster

Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...

Checking type safety of foreign function calls (2005)

Michael Furr, Jeffrey S. Foster

Foreign function interfaces (FFIs) allow components in different languages to communicate directly with each other. While FFIs are useful, they often require writing tricky, low-level code and...

Types for Lexically-Scoped Access Control * (2003)

Tachio Terauchi, Alex Aiken, Jeffrey S. Foster, Tachio Terauchi, Jeffrey S. Foster, Alex Aiken

1 Introduction In situations where a program P interacts with one or more untrusted program components U, a well-specifiedaccess control policy protects P 's resources from unwanted operations...

Checking and Inferring Local Non-Aliasing (2003)

Alex Aiken, John Kodumal, Jeffrey S. Foster, Tachio Terauchi

In prior work [15] we studied a language construct restrict that allows programmers to specify that certain pointers are not aliased to other pointers used within a lexical scope. Among other...

Type qualifiers : lightweight specifications to improve software quality / (2002)

Foster, Jeffrey S. (Jeffrey Scott)

Thesis (Ph. D. in Computer Science)--University of California, Berkeley, Fall 2002.

Flow-Sensitive Type Qualifiers (2002)

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct....

Flow-sensitive type qualifiers (2002)

Jeffrey S. Foster, Robert Johnson, John Kodumal, Alex Aiken

We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding...

Detecting Format String Vulnerabilities with Type Qualifiers (2001)

Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, David Wagner

We present a new system for automatically detecting format string security vulnerabilities in C programs using a constraint-based type-inference engine. We describe new techniques for presenting the...

A First Step towards Automated Detection of Buffer Overrun Vulnerabilities (2000)

David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

Polymorphic versus monomorphic flow-insensitive points-to analysis for C (2000)

Jeffrey S. Foster, Manuel Fähndrich, Er Aiken

Abstract We carry out an experimental analysis for two of the design dimensions of flow-insensitive points-to analysis for C: polymorphic versus monomorphic and equality-based versus inclusion-based....

A First Step towards Automated Detection of Buffer Overrun Vulnerabilities (2000)

David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

Polymorphic versus monomorphic flow-insensitive points-to analysis for C (2000)

Jeffrey S. Foster, Er Aiken

1 Introduction When constructing a constraint-based program analysis, the analysis designer must weigh the costs and benefits of many possible design points. Two important tradeoffs are:- Is the...

Polymorphic versus Monomorphic Flow-insensitive Points-to Analysis for C (Extended Version) (2000)

Er Aiken, Manuel Fähndrich, Jeffrey S. Foster, Alexander Aiken

We carry out an experimental analysis for two of the design dimensions of flow-insensitive points-to analysis for C: polymorphic versus monomorphic and equality-based versus inclusion-based. Holding...

A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities (2000)

David Wagner Jeffrey, David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

Polymorphic versus Monomorphic Flow-insensitive Points-to Analysis for C (2000)

Jeffrey S. Foster, Manuel Fähndrich, Alexander Aiken, Er Aiken

We carry out an experimental analysis for two of the design dimensions of flow-insensitive points-to analysis for C: polymorphic versus monomorphic and equality-based versus inclusion-based. Holding...

A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities (2000)

David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

A First Step towards Automated Detection of Buffer Overrun Vulnerabilities (2000)

David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

Polymorphic versus monomorphic flow-insensitive points-to analysis for C (2000)

Jeffrey S. Foster, Er Aiken

Abstract We carry out an experimental analysis for two of the design dimensions of flow-insensitive points-to analysis for C: polymorphic versus monomorphic and equality-based versus inclusion-based....

A first step towards automated detection of buffer overrun vulnerabilities (2000)

David Wagner, Jeffrey S. Foster, Eric A. Brewer, Alexander Aiken

We describe a new technique for finding potential buffer overrun vulnerabilities in security-critical C code. The key to success is to use static analysis: we formulate detection of buffer overruns...

Carillon - a System to Find Y2K Problems in C Programs (1999)

Martin Elsman, Jeffrey S. Foster, Alexander Aiken, Er Aiken

Carillon is a simple, fast, and effective type-based system for finding Y2K errors in C programs. Carillon extends the standard C type system with a user-defined set of date-related type qualifiers....

A Theory of Type Qualifiers (1999)

Jeffrey S. Foster, Manuel Fähndrich, Alexander Aiken

We describe a framework for adding type qualifiers to a language. Type qualifiers encode a simple but highly useful form of subtyping. Our framework extends standard type rules to model the flow of...

Partial online cycle elimination in inclusion constraint graphs (1998)

Manuel Fahndrich, Jeffrey S. Foster, Zhendong Su, Alexander Aiken

Many program analyses are naturally formulated and implemented using inclusion constraints. We present new results on the scalable implementation of such analyses based on two insights: first, that...

Partial online cycle elimination in inclusion constraint graphs (1998)

Manuel Fahndrich, Jeffrey S. Foster, Zhendong Su, Alexander Aiken

Many program analyses are naturally formulated and implemented using inclusion constraints. We present new results on the scalable implementation of such analyses based on two insights: first, that...

A Toolkit for Constructing Type- and Constraint-Based Program Analyses (1998)

Alexander Aiken Manuel, Er Aiken, Manuel Fahndrich, Jeffrey S. Foster, Zhendong Su

. BANE (the Berkeley Analysis Engine) is a publicly available toolkit for constructing type- and constraint-based program analyses. 1 We describe the goals of the project, the rationale for...

Tracking down Exceptions in Standard ML Programs (1998)

Manuel Fahndrich Jeffrey, Manuel Fahndrich, Jeffrey S. Foster, Jeffrey S. Foster, Alexander Aiken, Alexander Aiken, ...

We describe our experiences with an exception analysis tool for Standard ML. Information about exceptions gathered by the analysis is visualized using pam, a program visualization tool for emacs. We...

A Toolkit for Constructing Type- and Constraint-Based Program Analyses (1998)

Alexander Aiken, Er Aiken, Manuel Fähndrich, Jeffrey S. Foster, Zhendong Su

. BANE (the Berkeley Analysis Engine) is a publicly available toolkit for constructing type- and constraint-based program analyses. 1 We describe the goals of the project, the rationale for...

Tracking down Exceptions in Standard ML Programs (1998)

Manuel Fähndrich, Manuel Fahndrich, Jeffrey S. Foster, Jeffrey S. Foster, Alexander Aiken, Alexander Aiken, ...

We describe our experiences with an exception analysis tool for Standard ML. Information about exceptions gathered by the analysis is visualized using pam, a program visualization tool for emacs. We...

Flow-Insensitive Points-to Analysis with Term and Set Constraints (1997)

Jeffrey S. Foster, Jeffrey S. Foster, Manuel Fähndrich, Manuel Fahndrich, Alexander Aiken, Alexander Aiken

We describe new type systems for two kinds of flow-insensitive points-to analyses, one based on Andersen's algorithm and one based on Steensgaard's. The type systems are formulated using a...

CLP(SC): Implementation and Efficiency Considerations (1996)

Jeffrey S. Foster

CLP(SC) is a constraint logic programming language over set constraints proposed by Kozen [7]. In this paper, we describe a complete C++ implementation of CLP(SC). We describe the data structures...

Parallel detection of violations of color constancy

Foster, David H., Nascimento, Sérgio M. C., Amano, Kinjiro, Arend, Larry, Linnell, Karina J., Nieves, Juan Luis, ...

The perceived colors of reflecting surfaces generally remain stable despite changes in the spectrum of the illuminating light. This color constancy can be measured operationally by asking observers...

Parallel detection of violations of color constancy

Foster, David H., Nascimento, Sérgio M. C., Amano, Kinjiro, Arend, Larry, Linnell, Karina J., Nieves, Juan Luis, ...

The perceived colors of reflecting surfaces generally remain stable despite changes in the spectrum of the illuminating light. This color constancy can be measured operationally by asking observers...