Demo Data from SIGIR 2026 / reviewers in the wild / expert
Jonathan T. Moore
dblp:73/21
· DBLP profile ↗
8ranked-venue papers
1as first author
0since 2021 · last 2007
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6Computer networks · 2 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 60% Programming languages and type systems · 30% Software maintenance and evolution · 8% | |
| Computer networks
2 papers |
Software-defined and programmable networks · 64% Internet architecture and protocols · 36% | |
| Databases, data mining, and information retrieval
1 paper |
Database theory · 100% |
Topics — the 11 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › program transformation
bidirectional transformation |
0.1 | 2 | 2007 | Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem · ACM Trans. Program. Lang. Syst. 2007 Combinators for bi-directional tree transformations: a linguistic approach to the view update problem · POPL 2005 |
Programming languages and type systems
domain-specific languages |
0.1 | 2 | 2007 | Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem · ACM Trans. Program. Lang. Syst. 2007 Combinators for bi-directional tree transformations: a linguistic approach to the view update problem · POPL 2005 |
Compilers and program optimization › program transformation
tree transformations |
0.1 | 1 | 2007 | Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem · ACM Trans. Program. Lang. Syst. 2007 |
Compilers and program optimization › program transformation › bidirectional transformation
lenses |
0.1 | 1 | 2005 | Combinators for bi-directional tree transformations: a linguistic approach to the view update problem · POPL 2005 |
Software-defined and programmable networks
programmable data plane |
0.0 | 1 | 2001 | Practical Programmable Packets · INFOCOM 2001 |
Software maintenance and evolution
dynamic software updating |
0.0 | 1 | 2001 | Dynamic Software Updating · PLDI 2001 |
Internet architecture and protocols › future internet architecture
active networks |
0.0 | 1 | 1999 | PLANet: An Active Internetwork · INFOCOM 1999 |
Software-defined and programmable networks › programmable network nodes
programmable routers |
0.0 | 1 | 1999 | PLANet: An Active Internetwork · INFOCOM 1999 |
Database theory
view update |
0.0 | 1 | 2005 | Combinators for bi-directional tree transformations: a linguistic approach to the view update problem · POPL 2005 |
Operating systems
live update |
0.0 | 1 | 2001 | Dynamic Software Updating · PLDI 2001 |
Internet architecture and protocols › network architecture design
internet architecture |
0.0 | 1 | 1999 | PLANet: An Active Internetwork · INFOCOM 1999 |
Methods — techniques the papers use, named apart from their topics
type soundness · 0.2combinator library · 0.1functional programming combinators · 0.1proof sketch · 0.1compiler · 0.1byte-code interpretation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | Combinators for bidirectional tree transformations: A linguistic approach to the view-update problemabstractWe propose a novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional transformations on trees. In one direction, these transformations---dubbed lenses ---map a concrete tree into a simplified abstract view; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for well-typed lenses. We begin by identifying a natural space of well-behaved bidirectional transformations over arbitrary structures, studying definedness and continuity in this setting. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe bidirectional transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bidirectional list-processing transformations as derived forms. An extended example shows how our combinators can be used to define a lens that translates between a native HTML representation of browser bookmarks and a generic abstract bookmark format. Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt |
ACM Trans. Program. Lang. Syst. | 3 |
| 2005 | Combinators for bi-directional tree transformations: a linguistic approach to the view update problemabstractWe propose a novel approach to the well-known view update problem for the case of tree-structured data: a domain-specific programming language in which all expressions denote bi-directional transformations on trees. In one direction, these transformations---dubbed lenses---map a "concrete" tree into a simplified "abstract view"; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for well-typed lenses.We identify a natural space of well-behaved bi-directional transformations over arbitrary structures, study definedness and continuity in this setting, and state a precise connection with the classical theory of "update translation under a constant complement" from databases. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, copying, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bi-directional list-processing transformations as derived forms. Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt |
POPL | 3 |
| 2001 | Practical Programmable PacketsabstractWe present SNAP (safe and nimble active packets), a new scheme for programmable (or active) packets centered around a new low-level packet language. Unlike previous active packet approaches, SNAP is practical: namely, adding significant flexibility over IP without compromising safety and security or efficiency. In this paper we show how to compile from the well-known active picket language PLAN to SNAP, showing that SNAP retains PLAN's flexibility; give proof sketches of its novel approach to resource control; and present experimental data showing SNAP attains performance very close to that of a software IP router. Jonathan T. Moore, Michael Hicks 0001, Scott Nettles |
INFOCOM | 1 |
| 2001 | Dynamic Software UpdatingabstractMany important applications must run continuously and without interruption, yet must be changed to fix bugs or upgrade functionality. No prior general-purpose methodology for dynamic updating achieves a practical balance between flexibility, robustness, low overhead, and ease of use. Michael Hicks 0001, Jonathan T. Moore, Scott Nettles |
PLDI | 2 |
| 1999 | PLANet: An Active InternetworkabstractWe present PLANet: an active network architecture and implementation. In addition to a standard suite of Internet-like services, PLANet has two key programmability features: (1) all packets contain programs; and (2) router functionality may be extended dynamically. Packet programs are written in our special purpose programming language PLAN, the Packet Language for Active Networks, while dynamic router extensions are written in OCaml, a dialect of ML. Currently, PLANet routers run as byte-code-interpreted Linux user-space applications, and support Ethernet and IP as link layers. PLANet achieves respectable performance on standard networking operations: on 300 MHz Pentium-II's attached to 100 Mbps Ethernet, PLANet can route 48 Mbps and switch over 5000 packets per second. We demonstrate the utility of PLANet's activeness by showing experimentally how it can nontrivially improve application and aggregate network performance in congested conditions. Michael Hicks 0001, Jonathan T. Moore, D. Scott Alexander, Carl A. Gunter, Scott Nettles |
INFOCOM | 2 |
| 1998 | PLAN: A Packet Language for Active NetworksabstractPLAN (Packet Language for Active Networks) is a new language for programs that form the packets of a programmable network. These programs replace the packet headers (which can be viewed as very rudimentary programs) used in current networks. As such, PLAN programs are lightweight and of restricted functionality. These limitations are mitigated by allowing PLAN code to call node-resident service routines written in other, more powerful languages. This two-level architecture, in which PLAN serves as a scripting or 'glue' language for more general services, is the primary contribution of this paper. We have successfully applied the PLAN programming environment to implement an IP-free internetwork.PLAN is based on the simply typed lambda calculus and provides a restricted set of primitives and datatypes. PLAN defines a special construct called a chunk used to describe the remote execution of PLAN programs on other nodes. Primitive operations on chunks are used to provide basic data transport in the network and to support layering of protocols. Remote execution can make debugging difficult, so PLAN provides strong static guarantees to the programmer, such as type safety. A more novel property aimed at protecting network availability is a guarantee that PLAN programs use a bounded amount of network resources. Michael Hicks 0001, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles |
ICFP | 3 |
| 1998 | A Study of Large Object SpacesabstractThis paper examines the design space for copying garbage collectors (GCs) in which "large objects" are managed in a separate, non-copy-collected space. We focus on two main issues:1. how to set the policy for classifying objects as "large"2. how to manage the large object spaceWe explore these issues experimentally using the Oscar GC testbed. In particular, we vary the threshold size of large objects and also whether the objects may contain pointers. Furthermore, we compare the performance of treadmill collection to that of mark-and-sweep collection for managing the large object space.We find that for some heaps there is a minimum cutoff size below which adding objects to the large object space does not result in a performance improvement, while for others no such cutoff exists. In general, including pointer-containing objects in the large object space seems beneficial. Finally, the exact method used to collect the large object space does not significantly influence overall performance. Michael Hicks 0001, Luke Hornof, Jonathan T. Moore, Scott Nettles |
ISMM | 3 |
| 1997 | The Measured Cost of Copying Garbage Collection MechanismsabstractWe examine the costs and benefits of a variety of copying garbage collection (GC) mechanisms across multiple architectures and programming languages. Our study covers both low-level object representation and copying issues as well as the mechanisms needed to support more advanced techniques such as generational collection, large object spaces, and type segregated areas.Our experiments are made possible by a novel performance analysis tool, Oscar. Oscar allows us to capture snapshots of programming language heaps that may then be used to replay garbage collections. The replay program is self-contained and written in C, which makes it easy to port to other architectures and to analyze with standard performance analysis tools. Furthermore, it is possible to study additional programming languages simply by instrumenting existing implementations to capture heap snapshots.In general, we found that careful implementation of GC mechanisms can have a significant benefit. For a simple collector, we measured improvements of as much as 95%. We then found that while the addition of advanced features can have a sizeable overhead (up to 15%), the net benefit is quite positive, resulting in additional gains of up to 42%. We also found that results varied depending upon the platform and language. Machine characteristics such as cache arrangements, instruction set (RISC/CISC), and register pool were important. For different languages, average object size seemed to be most important.The results of our experiments demonstrate the usefulness of a tool like Oscar for studying GC performance. Without much overhead, we can easily identify areas where programming language implementors could collaborate with GC implementors to improve GC performance. Michael Hicks 0001, Jonathan T. Moore, Scott Nettles |
ICFP | 2 |