Sean Callanan

About me

I am a third-year Ph.D. student in the Computer Science program at Stony Brook University.

I am currently affiliated with the File Systems and Storage Laboratory, under Dr. Erez Zadok. I am now actively participating in the High Confidence Operating Systems project. My current research involves the design of compiler-assisted instrumentation tools to help programmers understand, debug, and verify the correctness of complex systems.

My interests include high-performance and embedded architectures, and how operating systems and compilers interact with them.

I received my Bachelor's Degree in Computer Science and Mathematics at Bard College.

Resume

A PDF of my resume is available for download here.

Courses I've taken

Since Spring 2005 I have been working exclusively on research in the FSL.

In the fall of 2004: In the spring of 2004: In the fall of 2003:

Papers I've written

  • Compiler-Assisted Software Verification Using Plug-Ins (HTML). This paper discusses our progress developing compiler-assisted verification tools like bounds checkers and model checkers using an extension architecture for the GNU C compiler. It was co-written with Radu Grosu, Xiaowan Huang, Scott Smolka, and Erez Zadok. I designed and implemented the plug-in architecture, as well as developing most of the plug-ins, which transform the GIMPLE internal representation of code used by GCC.
  • Runtime Verification for High-Confidence Systems: A Monte Carlo Approach (to appear). In this paper, we describe a mechanism for monitoring accesses to objects in a complex system. As the number of observed objects increases, we can increase our confidence that the actual rate of unsafe accesses is close to the observed rate; if the rate is very low, we can disable the monitoring, eliminating incurred overheads. It was co-written with Radu Grosu, Abhishek Rai, Scott Smolka, Mike True, and Erez Zadok. I was responsible for implementing the monitoring code and confidence-management algorithm. I also ran performance benchmarks to verify the performance gain as the tool reaches the target confidence.
  • Efficient and Safe Execution of User-Level Code in the Kernel (HTML). This paper discusses technologies being developed in our lab that make it easier to write kernel code, co-written with Erez Zadok, Abhishek Rai, Gopalan Sivathanu, and Avishay Traeger. I wrote about our in-kernel reference count framework, for which I developed the in-kernel component.
  • In search of a more insidious worm. This is a final paper for CSE636, co-written with Akshat Aranya. We implemented and evaluated simple mechanisms that make worms more stealthy, maintain high infection rates, and require no explicit communication betweeen worms.

Things I've done

  • In Summer 2005 and Summer 2006, I worked as an intern in the Xcode Tools group at Apple Computer. I worked on GDB support for kernel debugging, the port of DTrace to Mac OS X, the Xray tracing tool, and non-public projects.
  • I was my deparment's recipient of the Graduate Council Fellowship for the 2003-2004 academic year.
  • I wrote a program (108,383 bytes) for Linux (for PlayStation2) that renders PNM images directly to the framebuffer, using the SPS2 library.
  • I have a small page on kernel 2.6.0 modules.