News
Please note that effective January 1, 2013, I have started a position as a
software engineer at Google, Inc. I continue to work with my Purdue
collaborators and students in a new capacity as an adjunct assistant professor.
I am not, however, accepting new students.
About Me
I am a recipient of a 2011 NSF CAREER award, supporting my research in
debugging and understanding developed distributed systems. I was also awarded
a 2011 HP Open Innovation Grant, and a 2011 Purdue Research Foundation student
support grant to support my continued research in distributed systems
infrastructure development. I am also thankful for past equipment support from
Intel Corporation, and services support from Amazon Web Services. While I
focus on distributed system building issues most relevent to the operating
systems and network systems communities, my research bridges these topics with
those of security, programming languages, and software engineering. I have
recent papers in NSDI (Networked Systems Design and Implementation), NDSS
(Network and Distributed System Security), HPDC (High Performance Distributed
Computing), FSE (Foundations of Software Engineering), COMSNETS (Communication
Systems and Networks), and NSS (Network and System Security). My 2007 NSDI
paper on the Mace model checker won the best paper award.
I grew up in the mountains of NC, in Asheville. In 1998 I graduated from the
North Carolina School of Science and Mathematics, in Durham, NC. I
then did my undergraduate work at NC State University, where I received
Bachelors of Science in Computer Science and Applied Math working under Dr. Carla Savage, and a Minor in Music with an emphasis in Vocal Performance. In May of 2004 I completed a
Master of Science in Computer Science at Duke University
with Dr. Amin Vahdat. I continued my PhD work with Dr. Amin Vahdat
at the University of California, San Diego, Department of Computer
Science, in Systems and Networking, and completed my
PhD in 2008. When I’m not working on research, I sing in local groups and
spend time with my wife Kristina and son David. I began my new position as
Assistant Professor in the Computer Science department at Purdue
University in the Fall of 2008.
Research
MaceSystems: My present research is to make it simpler and
easier to build, debug, analyze, understand, and harden distributed systems, by
leveraging a modest amount of structure that the developer provides about their
system. As a PhD student, I developed the Mace toolkit, including a C++
language extension for building distributed systems, and a model checker to
test liveness properties of deployable-systems built in Mace, effective because
of the Mace structured programming environment. Mace has been used to develop
a wide range of systems from DHTs to file transfer protocols and consensus
protocols, and has been used at research labs and universities ranging from
Cornell University to Microsoft Research.
The fundamental advance made in the MaceSystems project is the recognition that with a
modest amount of structure, we can build a wide variety of tools that make the
developer more effective. We have often focused on the event-driven component
structure commonly used in distributed system design, where components process
events, and explicitly update state and send messages. This small amount of
structure makes state-space exploration much more efficient that an OS-level
exploration, as the component state is explicitly known and the messaging
protocols explicitly exposed.
Which this structure, the MaceSystems project has expanded, focusing in several areas:
- We have further enhanced the event-processing engine, supporting controlled and safe parallelism without disrupting the analysis techniques that leverage event atomicity.
- We have built analysis tools that can automatically detect and diagnose performance problems in systems implementations.
- We are building tools that automatically discover insider attacks on distributed systems implementations.
- We are enhancing the runtime infrastructure to optionally and transparently provide greater robustness to distributed protocols.
While we continue to support the highly-tuned and efficient Mace development
toolkit, the MaceSystems project has grown beyond this limited environment.
Our recent work has involved the development of tools that process logs from
arbitrary systems, given only a parsing script provided by the developer. We
also are focusing on the expansion of our protocol implementation exploration
techniques to support arbitrary systems running in controlled environments,
aided by developer guidance on the structure of the messaging protocol.
Students
Teaching
Other Notables
Prior to my work in distributed systems, I did work in the areas of Gray codes
and Venn diagrams. Together with Dr. Carla Savage, I proved the
existance of symmetric Venn diagrams for all prime numbers of curves. The
basis of the proof is a necklace approach to constructing an embedding of the
boolean lattice, and then taking its dual. The work appeared in
the Electronic Journal of Combinatorics, and was featured in the
December 2006 issue of the Notices of the AMS.
Publications
Endadul Hoque, Hyojeong Lee, Rahul Potharaju, Charles Killian, and Cristina Nita-Rotaru. Adversarial Testing of Wireless Routing Implementations.
In proceedings of
6th ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec 2013). Budapest, Hungary. Short paper.
(to appear)
17-19 April, 2013.
Wei-Chiu Chuang, Bo Sang, Charles Killian, and Milind Kulkarni. Programming Model Support for Dependable, Elastic Cloud Applications.
In proceedings of
Eigth Workshop on Hot Topics in System Dependability (HotDep 2012). Hollywood, CA. Colocated with OSDI 2012. 7 October, 2012.
Sunghwan Yoo, Charles Killian, Terence Kelly, Hyoun Kyu Cho, and Steve Plite. Composable Reliability for Asynchronous Systems.
In proceedings of
2012 USENIX Annual Technical Conference (USENIX ATC '12). Boston, MA. 13-15 June, 2012.
Karthik Nagaraj, Charles Killian, and Jennifer Neville. Structured Comparative Analysis of Systems Logs to Diagnose Performance Problems.
In proceedings of
9th USENIX Symposium on Networked Systems Design and Implementation (NSDI '12). San Jose, CA. 25-27 April, 2012.
Hyojeong Lee, Jeff Seibert, Charles Killian, and Cristina Nita-Rotaru. Gatling: Automatic Attack Discovery in Large-Scale Distributed Systems.
In proceedings of
19th Annual Network & Distributed System Security Symposium (NDSS 2012). San Diego, CA. 5-8 February, 2012.
Charles Killian. Distributed Algorithms in Structured, Event-Driven Languages.
In proceedings of
Workshop on Languages for Distributed Algorithms (LADA 2012). Philadelphia, PA. 23-24 January, 2012.
Karthik Nagaraj, Hitesh Khandelwal, Charles Killian, and Ramana Kompella. Hierarcy-Aware Distributed Overlays in Data Centers using DC2.
In proceedings of
Fourth International Conference on COMmunication Systems and NETworkS (COMSNETS 2012). Bangalore, India. 3-7 January, 2012.
Karthik Nagaraj, Charles Killian, and Jennifer Neville. Tracking Behavioral Changes in Distributed Systems using Distalyzer.
Poster at
23rd ACM Symposium on Operating System Principles (SOSP 2011). Cascais, Portugal. In addition to being refereed, SOSP 2011 posters are shepherded and a 2-page abstract published on the SOSP website. 23-26 October, 2011.
David Zage, Charles Killian, and Cristina Nita-Rotaru. Removing the Blinders: Using Information to Mitigate Adversaries in Adaptive Overlays.
In proceedings of
5th International Conference on Network and System Security (NSS 2011). Milan, Italy. 6-8 September, 2011.
Sunghwan Yoo, Hyojeong Lee, Charles Killian, and Milind Kulkarni. InContext: Simple Parallelism for Distributed Applications.
In proceedings of
20th International ACM Symposium on High-Performance Parallel and Distributed Computing (HPDC 2011). San Jose, CA. 8-11 June, 2011.
Charles Killian, Karthik Nagaraj, Salman Pervez, Ryan Braud, James W. Anderson, and Ranjit Jhala. Finding Latent Performance Bugs in Systems Implementations.
In proceedings of
Eightteenth International Symposium on the Foundations of Software Engineering (FSE 2010). Santa Fe, NM. 7-11 November, 2010.
Karthik Nagaraj, Hitesh Khandelwal, Ramana Kompella, and Charles Killian. DC2: Scalable Distributed Communication Middleware for the Cloud.
Poster at
7th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2010). San Jose, CA. 28-30 April, 2010.
Karthik Nagaraj, Ramana Kompella, and Charles Killian. Distributed Social Networking.
Poster at
6th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2009). Boston, MA. 22-24 April, 2009.
Darren Dao, Jeannie Albrecht, Charles Killian, and Amin Vahdat. Live Debugging of Distributed Systems.
In proceedings of
International Conference on Compiler Construction (CC 2009). March, 2009. [
PDF
]
Dejan Kostic, Alex C. Snoeren, Amin Vahdat, Ryan Braud, Charles Killian, Jeannie Albrecht, James W. Anderson, Adolfo Rodriguez, and Erik Vandekieft. High Bandwidth Data Dissemination for Large-scale Distributed Systems. ACM Transactions on Computer Systems, 26(1). 2008.
Charles Killian, James W. Anderson, Alex Rasmussen, Arvind Krishnamurthy, Ranjit Jhala, and Amin Vahdat. ONet: Persistent In-Network Data Structures.
Poster at
21st ACM Symposium on Operating System Principles (SOSP 2007). Stevenson, WA. 14-17 October, 2007.
Charles Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, and Amin Vahdat. Mace: Language Support for Building Distributed Systems.
In proceedings of
Programming Languages Design and Implementation (PLDI 2007). June 2007. [
PDF
]
Charles Killian, James W. Anderson, Ranjit Jhala, and Amin Vahdat. Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code.
In proceedings of
Networked Systems Design and Implementation (NSDI 2007). April 2007. [
PDF
]
Charles Killian, James W. Anderson, Ranjit Jhala, and Amin Vahdat. MaceMC: Checking for Liveness Bugs in Distributed Systems.
Poster at
7th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2006). Seattle, WA. 7 November, 2006. [PDF]
Patrick Reynolds, Charles Killian, Janet L. Wiener, Jeffrey C. Mogul, Mehul A. Shah, and Amin Vahdat. Pip: Detecting the Unexpected in Distributed Systems.
In proceedings of
Networked Systems Design and Implementation (NSDI 2006). May 2006.
Dejan Kostic, Ryan Braud, Charles Killian, Erik Vandekieft, James W. Anderson, Alex C. Snoeren, and Amin Vahdat. Maintaining High-bandwidth under Dynamic Network Conditions.
In proceedings of
USENIX Annual Technical Conference (USENIX 2005). April 2005. [
PDF
]
Adolfo Rodriguez, Charles Killian, Sooraj Bhat, Dejan Kostic, and Amin Vahdat. MACEDON: Methodology for Automatically Creating,
Evaluating, and Designing Overlay Networks.
In proceedings of
USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 2004). March 2004. [
PS
(Talk slides available upon request)
]
Charles E. Killian, and Carla D. Savage. Antipodal Gray Codes. Discrete Math. Vol. 281, Nos. 1-3 (2004) 221-236. [Preprint:
PDF
PS
]
Adolfo Rodriguez, Charles Killian, Dejan Kostic, and Amin Vahdat. MACEDON: Methodology for Automatically Creating, Evaluating,
and Designing Overlay Networks.
Poster at
19th ACM Symposium on Operating System Principles (SOSP 2003). Lake George, NY. October, 2003. [PDF]
Feiyi Wang, Raghu Uppalli, and Charles Killian. Analysis of Techniques For Building Intrusion Tolerant Server Systems.
In proceedings of
Military Communications Conference (MILCOM 2003). Oct 13-16, 2003.
Feiyi Wang, Kishor Trivedi, Stephanie Bryant, Yun Cui, Katerina Goseva-Popstojanova, Charles Killian, Bharat Madan, Rajiv Poonamalli, Raghu Uppalli, Kalyan Vaidyanathan, Dazhi Wang, and Rong Wang. SITAR Final Demo: Scalable Intrusion Tolerant Architecture.
Poster at
3rd Annual DARPA Information Survivability Conference and Exposition (DISCEX III). Washington, D.C.. Poster and Demonstration. April 22-24, 2003.
Feiyi Wang, and Charles Killian. Design and Implementation of SITAR Architecture: A Status Report.
In proceedings of
Intrusion Tolerant System Workshop, Supplemental Volume on 2002 International Conference on Dependable System & Networks (DSN 2002). Washington D.C.. June 22-26, 2002.
(unrefereed)
Feiyi Wang, Kishor Trivedi, Stephanie Bryant, Katerina Goseva-Popstojanova, Charles Killian, Bharat Madan, Rajiv Poonamalli, Raghu Uppalli, Kalyan Vaidyanathan, and Rong Wang. SITAR Demo: Scalable Intrusion Tolerant Architecture.
Poster at OASIS winter 2002 PI meeting. Hilton Head, SC. Poster and Demonstration. March 2002.
Program Committees
- HPDC 2013 Program Committee
- NSDI 2013 Poster Program Committee
- OSDI 2012 External Review Committee
- HPDC 2012 Program Committee
- HPDC 2011 Program Committee
- ICDCN 2011 Program Committee
- NSDI 2010 Program Committee and Poster Chair
- ICDCS 2009 Program Committee, Operating Systems and Middleware