Picture
Research
Students
Teaching
Contact
Biography
Publications
Last modified
|
Current Students
-
I am looking for both MS and PhD students. If you are interested in doing research in systems at
any level of the software stack, from middleware to hypervisor, send me an email!
MS:
I am also advising a number of undergraduate students in undergraduate
research projects.
Past Students
-
Ruslan Nikolaev. PhD, 2013.
previously at Microsoft, Inc. and Pure Storage,
now Virginia Tech
Dissertation:
Design and Implementation of the VirtuOS Operating System
Mehmet Belgin. PhD, 2010.
now at Georgia Tech, Academic & Research Technologies
Dissertation:
Structure-based Optimizations for Sparse Matrix-Vector Multiply
(co-advised with Dr. Ribbens)
Shahrooz Feizabadi. PhD, 2006.
Dissertation:
Garbage Collection Scheduling for Utility Accrual Real-Time Systems
Eric Williamson MS, 2018.
now at Facebook, Inc.
Thesis:
Hybrid Analysis Tools for Computer Systems Education
William Naciri MS, 2017.
now at Verisign, Inc.
Thesis:
Bug Finding Methods for Multithreaded Student Programming Projects
Lance Chao MS, 2016.
now at Facebook, Inc.
Thesis:
Symmetric MultiProcessing for the Pintos Instructional Operating System
Xiaozhong Pan MS, 2015.
now at Amazon, Inc.
Thesis:
Rich Cloud-based Web Applications with Cloudbrowser 2.0
Sushrut Shirole MS, 2014.
now at Cisco
Thesis:
Performance Optimizations for Isolated Driver Domains
Sony Vijay MS, 2013.
now at Bank of America/Merrill Lynch
Thesis:
The LibX LibApp Builder
Brian McDaniel MS, 2012.
now at Rackspace
Thesis:
The CloudBrowser Web Application Framework
Brian Nicholson MS, 2011.
now at Mozilla Foundation
Thesis:
LibX 2.0
Mike Woods (Co-advised with Dr. Edwards), MS, 2011.
now at Cisco
Thesis:
CloudSpace: A Web Development Environment for CS1 Courses
Amarjyoti Deka MS, 2010.
now at Microsoft,
previously at Acision Inc.
Thesis:
ScriptSpaces: An Isolation Abstraction for Web Browsers
Tilottama Gaat MS, 2008.
now at Rackspace Hosting.
Thesis:
The LibX Edition Builder
Jaishankar Sundaramanan MS, 2008.
now at Google.
Thesis:
HDPV: Highly Interactive, Faithful, In-Vivo
Runtime State Visualization for Software Programs
Nathan Baker. MS, 2007.
now at NetApp, Inc.
Thesis:
LibX IE: An Internet Explorer Add-On for Direct Library Access
Abhijit Deodhar. MS, 2007.
now at NetApp, Inc.
Thesis:
COPS: A Framework for Consumer Oriented Proportional share Scheduling
Vijay Kumar Muthukumaraswamy Sivakumar. MS, 2007.
now at Microsoft.
Thesis:
An Evaluation of the Linux Virtual Memory Manager to Determine Suitability for Runtime Variation of Memory
Prasad Gopal. MS, 2006.
now at Google.
Thesis:
Top: An Infrastructure for detecting Application-Specific Program Errors by Binary Runtime Instrumentation
Veena Basavaraj. MS, 2006.
now at LinkedIn
Thesis:
Optimality of Heuristic Schedulers in Utility Accrual Real-time Scheduling Environments
Research Interests
- My current research interests lie in a variety of areas related to computer systems.
Current Research
-
I am always looking for good students that are interested in all aspects of software systems.
My current research focuses on the development of new execution environments
for cloud (e.g. web) applications, both client and server-side.
Past research involves dynamic runtime checking, static analysis on
the programming language side, and real-time scheduling,
garbage collection, memory management, network simulation, and parallel
programming on the OS side.
Major ongoing research efforts include
VirtuOS.
For an overview, see our SOSP 2013 paper.
CloudBrowser.
For an overview, see our SPLASH/Wavefront 2012 paper.
LibX.
For an overview, see this talk.
Top and HDPV.
See this paper for an overview.
Enhance Thyself - automatic program enhancement.
See this paper for an overview.
Virtualization for High-End Computing.
Past Research
MJ:
I developed MJ, a system which applies meta-level compilation techniques
to Java. We have used meta-level compilation as a static analysis
tool for finding bugs in large software systems. It found thousands of bugs in
the Linux kernel, for instance.
Of course, in a system written in a weakly-typed language such as C, bugs are a
dime a dozen. The challenge in MJ is to apply meta-level compilation
to a type-safe language from which simple bugs, such as dangling pointers, have already
been eliminated.
KaffeOS:
Single-language runtime systems, in the form of Java virtual machines, are
widely deployed platforms for executing untrusted mobile code. These runtimes
provide some of the features that operating systems provide: inter-application memory
protection and basic system services. They do not, however, provide the ability to
isolate applications from each other, or limit their resource consumption. KaffeOS is
a Java runtime system that provides these features. The KaffeOS architecture takes
many lessons from operating system design, such as the use of a user/kernel boundary,
and employs garbage collection techniques, such as write barriers.
While KaffeOS has not been released, a successor project, JanosVM is available
here.
DataScript:
DataScript is a language to describe and manipulate binary data formats as types.
DataScript consists of two components: a constraint-based specification language that
uses DataScript types to describe the physical layout of data and a language binding
that provides a simple programming interface to script binary data. A DataScript compiler
generates Java libraries that are linked with DataScript scripts.
A release of the software is available
at SourceForge.
OSKit:
The OSKit is a framework and a set of 34 component libraries oriented to operating
systems, together with extensive documentation. By providing in a modular way not only
most of the infrastructure "grunge" needed by an OS, but also many higher-level
components, the project's goal is to lower the barrier to entry to OS R&D and to lower
its costs. The OSKit makes it vastly easier to create a new OS, port an existing OS to
the x86, or enhance an OS to support a wider range of devices, file system formats,
executable formats, or network services.
For language researchers and enthusiasts, the OSKit lets them concentrate on the real
issues raised by using advanced languages inside operating systems, such as Java, Lisp,
Scheme, or ML--- instead of spending six months or years groveling inside ugly code
and hardware.
The OSKit homepage.
Kaffe: I was a contributor to
the Kaffe project, an open source Java virtual machine.
|