Note: All code (except MACE) is available under either BSD or GPL license. See specific code package for details.

Available Software


An end-to-end packet loss measurement tool.

Publication: Improving accuracy in end-to-end packet loss measurement, ACM SIGCOMM 2005.
Available at Written in C++ and Python.


A flow-level network measurement generator and simulator.

Publications: Efficient Network-wide Flow Record Generation, INFOCOM 2011; Fast, Accurate Simulation for SDN Prototyping, HotSDN, 2013; Controller-agnostic SDN debugging, CoNEXT, 2014. Available at


A flow-level network traffic generator.

Publication: Self-configuring network traffic generation, IMC 2004. Available at See for documentation.
Written in C++.


A Python module for parsing and validating IANA language tags.

Publication: On the characteristics of language tags on the Web, PAM 2018. Available at See also


A Malicious tRaffic Composition Environment

Publication: A framework for malicious workload generation, IMC 2004. Note: Due to its sensitive nature, MACE is only available upon request.


A multi-user active measurement system

Publication: An Active Measurement System for Shared Environments, IMC 2007. Available upon request.


Highly scalable path emulation software (e.g., propagation delays, packet drops, etc.). Built on the Click modular router.

Publication: Scalable network path emulation, MASCOTS 2005. Available at


A Python-based longest-prefix match lookup library for v4 and v6 network addresses.

Built upon Dave Plonka’s patricia library. Works with both Python 2 and 3, supports v4 and v6, and is a bit faster than other libraries out there (including pyradix, and SubnetTree). See the github page for documentation and performance numbers. Can be installed through standard Python tools like pip (name: pytricia). Available at


A tool for multi-objective active monitoring

Publication: A framework for multi-objective SLA compliance monitoring (INFOCOM 2007 minisymposium), and Accurate and Efficient SLA Compliance Monitoring (ACM SIGCOMM 2007). Available upon request.


A system for automatic collection and analysis of metadata for active network measurement experiments.

Publication: Automatic Metadata Generation for Active Measurement, IMC 2017. Most recent version of the code is available at The version described in the IMC 2017 paper is at


A Scatter and Phase-pLot Animation Tool.

Publication: SPLAT: a visualization tool for mining Internet measurements, PAM 2006. Available at Documentation:


A framework for facilitating systems-type projects in networking courses (or intro to systems courses). It’s a Python framework within which you write code to implement the logic for a network device such as a switch, router, or middle-device. It includes a comprehensive testing framework, and code can be deployed in live networks, too.

Publication: Lowering the Barrier to Systems-level Networking Projects , SIGCSE 2015. Available at Documentation at


An available bandwidth measurement tool developed through a laboratory calibration environment. The tool is named after the Boston Red Sox great, Carl Yastrzemski.

Publication: A proposed framework for calibration of available bandwidth estimation tools, ISCC 2006. Available at