Robert Grimm’s Publications

Journals & Conferences

  1. Dynamic Expressivity with Static Optimization for Streaming Languages. Robert Soulé, Michael I. Gordon, Saman Amarasinghe, Robert Grimm, and Martin Hirzel. DEBS ’13, pp. 159–170, June 2013.
  2. From a calculus to an execution environment for stream processing. Robert Soulé, Martin Hirzel, Buğra Gedik, and Robert Grimm. DEBS ’12, pp. 20–31, July 2012. Best Paper.
  3. Marco: Safe, expressive macros for any language. Byeongcheol Lee, Robert Grimm, Martin Hirzel, and Kathryn S. McKinley. ECOOP ’12, pp. 589–613, LNCS 7313, June 2012.
  4. SuperC: Parsing all of C by taming the preprocessor. Paul Gazzillo and Robert Grimm. PLDI ’12, pp. 323–334, June 2012.
  5. Jinn: Synthesizing dynamic bug detectors for foreign language interfaces. Byeongcheol Lee, Ben Wiedermann, Martin Hirzel, Robert Grimm, and Kathryn S. McKinley. PLDI ’10, pp. 36–49, June 2010.
  6. A universal calculus for stream processing languages. Robert Soulé, Martin Hirzel, Robert Grimm, Buğra Gedik, Henrique Andrade, Vibhore Kumar, and Kun-Lung Wu. ESOP ’10, pp. 507–528, LNCS 6012, March 2010. Extended version (NYU CS TR2010-924). Talk.
  7. Debug all your code: Portable mixed-environment debugging. Byeongcheol Lee, Martin Hirzel, Robert Grimm, and Kathryn S. McKinley. OOPSLA ’09, pp. 207–226, Oct. 2009.
  8. PADS: A policy architecture for distributed storage systems. Nalini Belaramani, Jiandan Zheng, Amol Nayate, Robert Soulé, Mike Dahlin, and Robert Grimm. NSDI ’09, pp. 59–74, April 2009. Extended version and earlier version.
  9. Jeannie: Granting Java native interface developers their wishes. Martin Hirzel and Robert Grimm. OOPSLA ’07, pp. 19–38, Oct. 2007.
  10. Ensuring content integrity for untrusted peer-to-peer content distribution networks. Nikolaos Michalakis, Robert Soulé, and Robert Grimm. NSDI ’07, pp. 145–158, April 2007.
  11. Better extensibility through modular syntax. Robert Grimm. PLDI ’06, pp. 38–51, June 2006. Talk.
  12. Na Kika: Secure service execution and composition in an open edge-side computing network. Robert Grimm, Guy Lichtman, Nikolaos Michalakis, Amos Elliston, Adam Kravetz, Jonathan Miller, and Sajid Raza. NSDI ’06, pp. 169–182, May 2006. Extended talk presented at Stanford University, May 2006.
  13. System support for pervasive applications. Robert Grimm, Janet Davis, Eric Lemar, Adam MacBeth, Steven Swanson, Thomas Anderson, Brian Bershad, Gaetano Borriello, Steven Gribble, and David Weatherall. TOCS, 22(4):421–486, Nov. 2004.
  14. One.world: Experiences with a pervasive computing architecture. Robert Grimm. IEEE Pervasive Computing, 3(3):22–30, July–Sept. 2004.
  15. Systems support for ubiquitous computing: A case study of two implementations of Labscape. Larry Arnstein, Robert Grimm, Chia-Yang Hung, Jong Hee Kang, Anthony LaMarca, Gary Look, Stefan B. Sigurdsson, Jing Su, and Gaetano Borriello. Pervasive ’02, pp. 30–44, Aug. 2002.
  16. System support for pervasive applications. Robert Grimm and Brian Bershad. In A. Schiper, A. A. Shvartsman, H. Weatherspoon, and B. Y. Zhao, eds, Future Directions in Distributed Computing, pp. 212–217, LNCS 2584, April 2003. An earlier version appeared in FuDiCo ’02, pp. 56–59, June 2002.
  17. Separating access control policy, enforcement and functionality in extensible systems. Robert Grimm and Brian N. Bershad. TOCS, 19(1):36–70, Feb. 2001.
  18. Design and implementation of a distributed virtual machine for networked computers. Emin Gün Sirer, Robert Grimm, Arthur J. Gregory, and Brian N. Bershad. SOSP ’99, pp. 202–216, Dec. 1999.
  19. Providing policy-neutral and transparent access control in extensible systems. Robert Grimm and Brian N. Bershad. In J. Vitek and C. Jensen, eds, Secure Internet Programming: Security Issues for Distributed and Mobile Objects, pp. 317–338, LNCS 1603, June 1999.
  20. Application performance and flexibility on Exokernel systems. M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Héctor M. Briceño, Russell Hunt, David Mazières, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie. SOSP ’97, pp. 52–65, Oct. 1997.
  21. Access control for the SPIN extensible operating system. Robert Grimm and Brian N. Bershad. S&P ’97, p. 205, May 1997.
  22. Atomic recovery units: Failure atomicity for logical disks. Robert Grimm, Wilson C. Hsieh, Wiebren de Jonge, and M. Frans Kaashoek. ICDCS ’96, pp. 26–36, May 1996.

Refereed Workshops

  1. On reconciling patches and aspects. Laurent Burgy, Marc Fiuczynski, Marco Yuen, and Robert Grimm. ACP4IS ’09, 5 pages, March 2009.
  2. On the feasibility of an AOSD approach to Linux kernel extensions. Alison Reynolds, Marc E. Fiuczynski, and Robert Grimm. ACP4IS ’08, 6 pages, March 2008.
  3. Linguistic support for modern operating systems. Christian W. Probst, Andreas Gal, Robert Grimm, and Olaf Spinczyk. PLOS ’06, 3 pages, Oct. 2006.
  4. Making extensibility of system software practical with the C4 toolkit. Marco Yuen, Marc E. Fiuczynski, Robert Grimm, Yvonne Coady, and David Walker. SPLAT ’06, 6 pages, March 2006.
  5. Systems need languages need systems. Robert Grimm. PLOS ’05, 5 pages, July 2005.
  6. HEY… You got your paradigm in my operating system. Chris Matthews, Owen Stampflee, Yvonne Coady, Jonathan Appavoo, Marc E. Fiuczynski, and Robert Grimm. PLOS ’05, 4 pages, July 2005.
  7. patch (1) considered harmful. Marc E. Fiuczynski, Robert Grimm, Yvonne Coady, and David Walker. HotOS ’05, pp. 91–96, June 2005.
  8. Security challenges for rich-media educational environments. Robert Grimm. PORTIA Workshop on Sensitive Data in Medical, Financial, and Content-Distribution Systems, 2 pages, July 2004.
  9. System-level programming abstractions for ubiquitous computing. Robert Grimm, Janet Davis, Eric Lemar, Adam MacBeth, Steven Swanson, Steven Gribble, Thomas Anderson, Brian Bershad, Gaetano Borriello, and David Weatherall. UbiTools ’01, 4 pages, Sept. 2001.
  10. Systems directions for pervasive computing. Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Adam MacBeth, Steven Swanson, Thomas Anderson, Brian Bershad, Gaetano Borriello, Steven Gribble, and David Weatherall. HotOS ’01, pp. 147–151, May 2001. Talk.
  11. A system architecture for pervasive computing. Robert Grimm, Thomas Anderson, Brian Bershad, and David Weatherall. EW 9, pp. 177–182, Sept. 2000.
  12. Distributed virtual machines: A system architecture for network computing. Emin Gün Sirer, Robert Grimm, Brian N. Bershad, Arthur J. Gregory, and Sean McDirmid. EW 8, pp. 13–16, Sept. 1998.
  13. Security for extensible systems. Robert Grimm and Brian N. Bershad. HotOS ’97, pp. 62–66, May 1997.

Refereed Posters & Presentations

  1. Distributed CQL made easy. Robert Soulé, Martin Hirzel, Robert Grimm, and Buğra Gedik. NEDB ’11, Jan. 2011. Extended abstract.
  2. Auto-Parallelization for declarative network monitoring. Robert Soulé, Robert Grimm, and Petros Maniatis. SOSP ’07, Oct. 2007.
  3. Typical: Taking the tedium out of typing. Robert Grimm, Laune Harris, and Anh Le. IBM Programming Languages Day, Hawthorne, May 2007.
  4. Programming for pervasive computing environments. Robert Grimm, Janet Davis, Eric Lemar, Adam MacBeth, Steven Swanson, Daniel Cheah, Thomas Anderson, Brian Bershad, Gaetano Borriello, Steven Gribble, and David Weatherall. SOSP ’01, Oct. 2001. Interesting issues side poster and code examples handout.
  5. Towards a system architecture for pervasive computing. Robert Grimm, Janet Davis, Ben Hendrickson, Eric Lemar, Thomas Anderson, Brian Bershad, Gaetano Borriello, and David Weatherall. OSDI ’00, Oct. 2000.

Select Technical Reports

  1. A Catalog of Stream Processing Optimizations. Martin Hirzel, Robert Soulé, Scott Schneider, Buğra Gedik, and Robert Grimm. IBM Research Report RC25215, Sept. 2011.
  2. Declarative syntax tree engineering (or, one grammar to rule them all). Robert Grimm. NYU CS Technical Report TR2007-905, Nov. 2007.
  3. Typical: Taking the tedium out of typing. Robert Grimm, Laune Harris, and Anh Le. NYU CS Technical Report TR2007-904, Nov. 2007.
  4. Revisiting structured storage: A transactional record store. Robert Grimm, Michael M. Swift, and Henry M. Levy. UW CSE Technical Report UW-CSE-00-04-01, April 2000.

Select Talks

  1. Parsing all of C by taming the preprocessor. Presented at Cornell, École Polytechnique Fédérale de Lausanne, IBM Research, University of Massachusetts Amherst, University of New South Wales, and UT Austin; July 2011 to April 2013. Original version of this talk.
  2. Adventures in extensibility: Of languages and compilers. Presented at Cornell, IBM Research, NYU, Princeton, UCSD, and University of Washington; Nov. 2007 to Feb. 2008.
  3. xtc — Towards eXTensible C. Distinguished lecture presented at IBM Research, Hawthorne, July 2005.
  4. one.world: System support for pervasive applications. Presented at Cornell, Harvard, Microsoft Research, NYU, Rice, UC Berkeley, UCLA, University of Maryland, and UT Austin; Feb. 2002 to Nov. 2003.
  5. Extensibility: SPIN and exokernels. Guest lecture in UW CSE 551, the graduate OS course, April 2000.
  6. Separating access control policy, enforcement, and functionality in extensible systems. Presented at go2net, Seattle, WA, March 2000.

Theses

  1. System support for pervasive applications. Ph.D. thesis, University of Washington, Dec. 2002.
  2. Exodisk: maximizing application control over storage management. Master’s thesis, Massachusetts Institute of Technology, May 1996.