Past NJ Programming Languages and Systems Seminars
Abstracts for talks presented at previous meetings may be found below.
Email addresses and contact information for most speakers can be found in
the participants list.
- November 10, 2023 at Princeton University
- May 19, 2023 at University of Pennsylvania
- October 22, 2022 at University of Maryland, College Park
- May 6, 2022 at Stevens Institute of Technology
- November 20, 2017 at Princeton University
- September 30, 2016 at Rutgers University
- May 19, 2016 at University of Pennsylvania
- Nov. 15, 2013 at Stevens Institute of Technology
- Apr. 5, 2013 at University of Maryland
- Nov. 15, 2012 at University of Pennsylvania
- Apr. 8, 2011 at Princeton University
- Dec. 10, 2010 at Rutgers University
- Apr. 9, 2010 at Stevens Institute of Technology
- Oct. 2, 2009 at Lehigh University
- May 7, 2009 at IBM T.J. Watson Research Center, an IBM PL Days event
- Apr. 3, 2009 at Princeton University
- Aug. 28, 2008 at IBM T.J. Watson Research Center, an IBM PL Days event
- Mar. 7, 2008 at the University of Pennsylvania
- Nov. 23,
2007 at the University of Maryland, College Park
- May 6,
2007 at IBM T.J. Watson Research Center, an IBM PL Days event
- Feb. 16,
'07 at Rutgers University
- Oct. 20, '06 at Princeton University
- Apr. 17, '06 at IBM T.J. Watson Research
Center, an IBM PL Days event
- Sept. 16, '05 at Stevens Institute of
Technology on Backpropagation Through Functional Programs, Web
Publishing as Staged Computations, Modular Verification of Concurrent
Assembly Code with Dynamic Thread Creation and Termination, Static
Analysis of Atomicity for Programs with Non-Blocking Synchronization,
and Optimized Run-Time Race Detection and Atomicity Checking Using
Partial Discovered Types.
- April 22, '05 at IBM T.J. Watson Research
Center, an IBM PL Days event
- Feb 25, '05 at Penn on
Liberating threads from sequential programs,
An open and shut typecase,
Checking type safety of foreign functions calls, and
Downgrading policies for information-flow control.
- Dec 3, '04 at NYU on
A syntactic approach to eta equality in type theory,
Bisimulation for type abstraction and recursion,
Boxed ambients with communication interfaces,
Shape analysis with local reasoning, and
The Spec# programming system.
- Oct 1, '04 at Princeton on
Lattice and Information-flow,
Towards Extensible C - Step 1: The Parser,
Dynamic update system,
Towards imperative modules, and
Understanding complex Web services requirements through rapid
prototyping with Water.
21, '04 at IBM on
Purity Analysis for Java Programs,
Pluggable Analyses for Data Structure Consistency and Generalized
A Unified Theory of Garbage Collection,
Lock-Free Malloc [and Overview of Practical User-Level Lock-Free
Jeddak: Principals, Policies, and Keys in a Secure Distributed
StreamIt: A Compiler Infrastructure for Stream Programs,
Light-Weight Instrumentation from Relational Queries Over Program
and Parametric Regular Path Queries.
- Feb 27, '04 at Stevens on
SIFTAL: A Typed Assembly Language for Secure Information Flow Analysis,
Grafting Trees: Continuations In Type Logical Grammar,
Bringing Testing and Verification Closer Together,
The Emergence of Systems Biology, and
The Logical Meeting Point of Multiset Rewriting and Process Algebra.
- Nov 19, '03 at UPenn on
Controlled Downgrading based on Intransitive (Non)Interference,
Correspondence assertions for process synchronization in concurrent communications,
XJ: The Integration of XML and Java,
Foundational Proof-Carrying Code version 2003, and
Type Inference for Parameterized Race-Free Java.
- Sep 04, '03 at Princeton on
Translation Validation of Loop Optimizations,
Aliasing and Flow-Sensitive Type Qualifiers,
Beyond Regions in Cyclone,
Modal Proofs as Distributed Programs, and
Harmony: A Synchronization Framework for Tree-Structured Data.
- April 25, '03 at IBM T.J. Watson on
An Algebraic Theory of Polymorphic Temporal Media,
Taming the Intel IXP Network Processor,
Toward a Programming Model for Building Reliable Systems with
Reasoning about Hierarchical Storage,
From Rules to Analysis Programs with Time and Space Guarantees,
SABER - Smart Analysis Based Error Reduction, and
XeLda: Enforcing Dimensional Consistency in Spreadsheets.
- February, '03 at AT&T on
XML and Data Support Beyond XMLamda and HaskellDB,
Call-by-name is dual to call-by-value in the same
sense that And is dual to Or,
Jif: Java + Information Flow,
A Component Composition and Customization Language for Hardware System
Programming Network Processors.
- December 6, '02 at Agere on
Programming Network Processors and
Iterable Pattern Matching for Java.
Program abbreviated because of snow.
- September 20, '02 at UPenn on
Polymer: A Language for Composing Run-time Security Policies,
Polytypic Programming and Intensional Type Analysis,
Regular Expression Filters for XML,
Dynamic Rebinding and Dynamic Update, and
Abstractions for Fault-Tolerant Global Computing.
- May 07, '02 at IBM T.J. Watson on
Next Generation Software Systems and Programming Language Research,
An Analyzable Annotation Language,
A Defragmenting, Mostly Non-moving Garbage Collector,
Domain Partitioning for Open Reactive Systems,
Cyclone: A Safe Language at the C Level of Abstraction, and
A Syntactic Approach to Foundation Proof-Carrying Code.
- Feb 22, '02 at Avaya Labs on
The Girard-Reynolds Isomorphism,
A Persistent Data System for Hancock,
Concurrency in the Moby Programming Language,
Program Optimization Using Indexed and Recursive Data Structures, and
A Framework for Reducing the Overhead of Instrumentation.
- Dec 7, '01 at Princeton University on
No-Longer-Foreign: Teaching an ML compiler to speak C ``natively,''
Adaptive Optimization in the Jikes RVM,
A New Automaton for Pattern Matching,
How to Synchronize a List, and
Aliasing Analysis using CLA: A Million Lines of C Code in a Second.
- Oct 10, '01 at Stevens Institute on
The Architecture of a World-Wide Distributed Repository to
Support Fine-Grained Sharing of Source Code,
Coping With The Discrete Internet,
The annotation erasure property of two-level languages,
Confinement and representation independence for Java,
and a Visual Bridge from Design to Implementation.
- May 16, '01 at AT&T Florham Park on
Semantics of Machine Instructions at Multiple Levels of Abstraction,
A Moby status report,
Pointwise relational and state-free imperative programming,
The Java Syntactic Extender,
Polytypic Data Conversion Programs,
and Call-By-Push-Value: A Subsuming Paradigm.
- February 27, '01 at Bell Labs on
ESP: A language for Programming Devices,
Heap bounded assembly language,
Tag Elimination and Jones-optimality,
Dynamic Software Updating, and
The Regular World Assumption.
- October 24, '00 at NEC on
Translation Validation of Optimizing Compilers,
Type-Safe Garbage Collection,
An Indexed Model of Recursive Types for Foundational Proof-Carrying Code,
Relating Cryptography and Polymorphism,
Constraint Solving and Compilation in B-Prolog, and
Local CPS Conversion.
- August 23, '00 at Princeton on
Semantics-based Design and Correctness of Control-flow Analysis-based Program Transformations,
Static Enforcement of Security with Types,
Hot-Spot Compilation of Scheme48,
SSA in linear (input+output) time,
and The CIL ML compiler: Flow Directed Specialized Representations.
- April 17, '00 at IBM Watson on
Keeping Software Soft,
Fractal Symbolic Analysis,
Issues in Escape Analysis for Java Programs,
Jalapeno: a new Java Virtual Machine for Servers,
and Functional Robotics.
- February 16, '00 at AT&T Florham Park on
Object-Oriented Programming in ML via Hierarchically Extensible Datatypes and Functions,
Practical Experience with an Application Extractor for Java,
Register Allocation for Architectures with Few Registers,
Reasoning about Secrecy and Integrity for Active Networks,
and An extensible framework for describing tree languages.
- November 19, '99 at Bell Labs on
Flow-Directed Lightweight Closure Conversion,
Evolving a Language,
Regular Expression Types for XML Processing,
A Calculus for Compiling and Linking Classes,
Safe Garbage Collection = Regions + Intensional Type Analysis,
and TinkerType: A Language for Playing with Formal Systems.
- September 1, '99 at NEC on
Flexible Subtyping for Parameterized Object Types,
The Trimaran Compiler Research Infrastructure,
Faithful Translations between Polyvariant Flows and Polymorphic Types,
The Next 700 Markup Languages.
- June 9, '99 at Stevens Institute on
a typed intermediate language for a Java native code compiler;
square matrices: an adventure in types;
Jester = Java || Esterel, another Java reactive extension based on Esterel;
chunks in PLAN: language support for programs as packets;
and an abstract formulation of memory management.
- March 17, '99 at Princeton on
types for proof-carrying code,
a simple and efficient natural merge-sort for lists,
from polyvariant flow information to intersection and union types,
SML/NJ interoperability through IDL,
physical type checking for C,
data refinement in a higher order refinement calculus.
- November 18, '98 at U. Penn on
IDL and interoperability with SML/NJ,
The design of the Moby object system,
Relevant Context Inference,
StruQL: A declarative query language for specifying web sites,
A translation of regions to polymorphic lambda calculus.
- September 2, '98 at NEC on
Finite Subtype Inference with Explicit Polymorphism,
Large Object Spaces,
C--: a portable compiler target language,
NJ PearLS -- Dynamically Extensible Data Structures in Standard ML,
Semantics-driven language design: Statically type-safe virtual types in
and Flow-directed Closure Conversion for Typed Languages.
- June 9, '98 at Bell Labs on
A Unified Treatment of Dependency,
Automatically Closing Open Reactive Programs,
A Program Transformation System for Haskell,
Program Specialization for Adaptive Operating Systems,
Set Constraints for Destructive Array Update Optimization,
Cool Modules for HOT Languages,
How people use functional languages and why they don't.
- Mar. 20, '98 at Princeton on
Adding Classes to a Language with Modules,
Refinement Kinds and Dynamic Type Dispatch,
Optimal Type Lifting,
Low Impact Trace and Replay of Programs,
and an Overview of the Component Object Model.
- Dec. 12, '97 at AT&T Florham Park on
PLAN: A Programming Language for Active Networks,
Experience with a Domain-Specific Language,
the Relationship Between Classes, Objects, and Data Abstraction,
MLRISC: A framework for Retargetable and Optimizing Compiler Back Ends.
- Sept. 16, '97 at NEC on
Verifying Operating System Security,
Programming reactive systems in ML,
Multi-Stage Programming with Explicit Annotations,
and Designing Moby.
- July 22, '97 at Bell Labs on
Static Analysis for Information Security,
ThisType and Match-bounded Polymorphism,
Defining Security Policies using Query Certificate Managers,
The Matrix of Virtual Worlds,
Cost-effective Exception Analysis of ML,
Behavioral Subtyping in Object-Oriented Languages.
- May 7 '97 at Princeton on
Even and Odd Laziness, Engines,
the Zephyr Abstract Syntax Description Language,
Modular User Interfaces, the Cubic Bottleneck in Flow Analysis,
and First-class Conditional Synchronization.
- February 20 '97 at Rutgers on
Typed Intermediate Languages, Programming with Security, Recognizing
Termination, Global Optimization of Scheme, Control-Flow Analysis,
and Representation Analysis.
- November 22 '96 at NEC on Path Profiling, Internet Security, Modular Polyvariant Closure Analysis, Type-respecting Flow Analysis, and Thread Scheduling for Cache Locality.
- July 19 '96 at Bell Labs on Alias Analysis, Transactions for Java, Catching Type Errors Early, and Simplified Standard ML.
- March 14 '96 at Princeton on
Flow-directed Inlining, Software Configuration, the TIL/ML compiler,
and Concurrent Garbage Collection.
- December 7 '95 at NEC on Partial Evaluation,
Modules, Macros, and Inlining.
- September 14 '95 at Bell Labs on Type Errors, Dynamic Slicing, Objects, Effect-based Flow Analysis, and a Scheme Web Server.
- July 20 '95 at Princeton on Type Inference, Higher-order
Functors, and Register Allocation.
- April 6 '95 at NEC on Shells, Flow Analysis, and
- February 2 '95 at Bell Labs on
Mostly Functional Programming in the Real World.
- December 2 '94 at NEC on
Parallelism, Dynamic Scheduling, and Side Effects.