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.
  • December 6, 2024 at Cornell Tech
  • May 10, 2024 at New York University
  • 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.
  • May 21, '04 at IBM on Purity Analysis for Java Programs, Pluggable Analyses for Data Structure Consistency and Generalized Typestate Checking, A Unified Theory of Garbage Collection, Lock-Free Malloc [and Overview of Practical User-Level Lock-Free Computing], Jeddak: Principals, Policies, and Keys in a Secure Distributed Programming Language, StreamIt: A Compiler Infrastructure for Stream Programs, Light-Weight Instrumentation from Relational Queries Over Program Traces, and Parametric Regular Path Queries.
  • Feb 27, '04 at Stevens on Typing Traits, 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 Distributed State, 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 Simulation, and 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, Cryptographic Types, 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, Data-level Interoperability, 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 Moby, Flexible Subtyping for Parameterized Object Types, The Trimaran Compiler Research Infrastructure, Faithful Translations between Polyvariant Flows and Polymorphic Types, and 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, and 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, and 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 object-oriented languages, 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, and 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 Active Networks, PLAN: A Programming Language for Active Networks, Higher-order Esterel, Experience with a Domain-Specific Language, the Relationship Between Classes, Objects, and Data Abstraction, and MLRISC: A framework for Retargetable and Optimizing Compiler Back Ends.
  • Sept. 16, '97 at NEC on Hierarchical Modularity, 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, and 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 X-windows Interfacing.
  • 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.

Maintained by: Michael Greenberg (michael@greenberg.science)