Rob DeLine's Curriculum Vitae

Education

PhD 1999, Carnegie Mellon University.
Dissertation with advisor Mary Shaw: Resolving packaging mismatch. Thesis committee: Mary Shaw (chair), David Garlan, Daniel Jackson, Gregor Kiczales (Xerox PARC).

MS, BS with high honors 1993, University of Virginia.
Master's thesis with advisor Randy Pausch: Alice: A rapid prototyping system for three-dimensional, interactive, graphical environments.

Professional Experience

Research

Microsoft Research, Redmond, Washington. 
Principal Researcher and manager of the Human Interactions in Programming group. 2006-present. The group's mission combines the disciplines of Human-Computer Interaction and Software Engineering: we study the work practices of software development teams and invent new tools to improve team productivity. My research projects centered on social networking for developers (Codebook); developers' information seeking and knowledge sharing (JotNet); spatial representations of team artifacts (Code Canvas, Code Thumbnails, Software Terrain Maps); and recommendations systems for learning unfamiliar code (Team Tracks).

Researcher in the Software Improvement Group under Jim Larus. Conducted research in program verification: checking preconditions, postconditions and object invariants in C# (Spec#); typestate checking for .NET languages (Fugue); and integrating interface protocol checking with type checking in a safe C language (Vault).

Carnegie Mellon University, Pittsburgh, Pennsylvania.
PhD candidate with advisor Mary Shaw. Classified current techniques for resolving a class of system integration problems, called packaging mismatch, and created a new technique to separate software components' computational and interaction concerns (dissertation research). Created a direct-manipulation-style graphical editor for the UniCon architecture description language. 1993-1999.

Xerox Palo Alto Research Center, Palo Alto, California.
Intern with host Gregor Kiczales. Designed a half-day tutorial on a technique for designing systems that allow their clients principled control over chosen aspects of implementation. Summer 1995.

Digital Equipment System Research Center, Palo Alto, California.
Intern with host Hania Gajewska. Created an email-based answering machine service for the Argo video teleconferencing system. Summer 1994.

Xerox Palo Alto Research Center, Palo Alto, California.
Intern with host Jock Mackinlay. Created two calendar-based, three-dimensional visualizations for the Information Visualizer system. Summer 1993.

University of Virginia, Charlottesville, Virginia.
MS candidate with advisor Randy Pausch. Created the first version of the Alice rapid prototyping system for interactive, three-dimensional graphics, 1992-1993. As an undergraduate, designed and implemented the Simple User Interface Toolkit (SUIT) for creating traditional windows-based user interfaces, 1990-1992, and implemented the Simple Raster Graphics Package (SRGP) for MS-DOS published with the textbook Computer Graphics: Principles and Practice by Foley, van Dam, Feiner, and Hughes, 1990.

Teaching

University of Washington, Computer Science and Engineering Department.
Affiliate professor. Redesigned and taught CSE 503, a graduate course in Software Engineering, with an emphasis on formal methods and software design. The course is one of the qualifying courses for the department's M.S. and PhD. programs. Spring quarter, 2004.

Carnegie Mellon University, Eberly Center for Teaching Excellence.
Eberly Center Teaching Fellow: The Center's Teaching Fellow program has selected eleven accomplished graduate student instructors to advise graduate and undergraduate student instructors on their teaching. Evaluated and provided feedback to student instructors through classroom observation, videotape review sessions, and microteaching workshops. 1998-1999.

Carnegie Mellon University, School of Computer Science.
Computer Science Department Teaching Fellow: The Department's Teaching Fellow program encourages exemplary CS PhD students to pursue significant teaching accomplishments. Designed and taught a graduate course, with Professor Mary Shaw and Shawn Butler, on engineering software for critical system properties like safety, security, and reliability. 1998-1999.

Carnegie Mellon University, School of Computer Science.
Teaching assistant for courses on introductory programming with Professors Robert Harper and Daniel Jackson (Spring 1996) and on software engineering with Professor Daniel Jackson (Spring 1995). Founded and lead a reading group in software engineering (http://www.cs.cmu.edu/Groups/software-eng/serg), 1996-1997.

University of Virginia, Department of Computer Science.
Undergraduate representative to the Computer Science Curriculum Committee. 1992-1993.

Publications

Refereed Journals

Danyel Fisher, Rob DeLine, Mary Czerwinski, and Steven Drucker, Interactions with Big Data Analytics, in ACM Interactions, ACM, May 2012

Robert DeLine, Gina Venolia, and Kael Rowan, Software Development with Code Maps, in Communications of the ACM, vol. 53, no. 8, pp. 48-54, Association for Computing Machinery, Inc., 4 July 2010

James R. Larus, Thomas Ball, Manuvir Das, Robert DeLine, Manuel Fähndrich, Jon Pincus, Sriram K. Rajamani, and Ramanathan Venkatapathy, Righting Software, in IEEE Software, vol. 21, no. 3, pp. 92–100, Institute of Electrical and Electronics Engineers, Inc., May 2004

Refereed Conferences and Workshops

Mike Barnett, Badrish Chandramouli, Robert DeLine, Steven Drucker, Danyel Fisher, Jonathan Goldstein, Patrick Morrison, and John Platt, Stat! - An Interactive Analytics Environment for Big Data, in ACM SIGMOD International Conference on Management of Data (SIGMOD 2013), ACM SIGMOD, June 2013

Kael Rowan, Robert DeLine, Andrew Bragdon, and Jens Jacobsen, Debugger Canvas: Industrial Experience with the Code Bubbles Paradigm, International Conference on Software Engineering, 2 June 2012

Andrew Bragdon, Robert DeLine, Ken Hinckley, and Meredith Ringel Morris, Code Space: Combining Touch, Devices, and Skeletal Tracking to Support Developer Meetings, in Proceedings of ITS 2011, ACM, November 2011

Andrew Begel, Rob DeLine, and Thomas Zimmermann, Social Media for Software Engineering, in Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research (FoSER), Association for Computing Machinery, Inc., November 2010

Robert DeLine and Kael Rowan, Code Canvas: Zooming towards Better Development Environments, in Proceedings of the International Conference on Software Engineering (New Ideas and Emerging Results), Association for Computing Machinery, Inc., 2 May 2010

Robert DeLine and Chris Parnin, Evaluating Cues for Resuming Interrupted Programming Tasks, in CHI '10: Proceedings of the 28th international conference on Human factors in computing systems, Association for Computing Machinery, Inc., April 2010

Andrew Begel and Robert DeLine, Codebook: Social Networking over Code, in Proceedings of ICSE 09 (New Ideas and Emerging Results), Association for Computing Machinery, Inc., June 2009

Paula M. Bach, Robert DeLine, and John M. Carroll, Designers wanted: participation and the user experience in open source software development, in Proceedings of CHI 09, Association for Computing Machinery, Inc., 2009

Robert DeLine, Del.icio.us development tools, in CHASE '08: Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, ACM, New York, NY, USA, 2008

Mauro Cherubini, Gina Venolia, and Rob DeLine, Building an Ecologically-valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code, in VLHCC '07: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, IEEE Computer Society, Washington, DC, USA, September 2007

Andrew J. Ko, Robert DeLine, and Gina Venolia, Information Needs in Collocated Software Development Teams, in ICSE '07: Proceedings of the 29th international conference on Software Engineering, IEEE Computer Society, Washington, DC, USA, May 2007

Mauro Cherubini, Gina Venolia, Rob DeLine, and Andrew J. Ko, Let's go to the whiteboard: how and why software developers use drawings, in CHI '07: Proceedings of the SIGCHI conference on Human factors in computing systems, Association for Computing Machinery, Inc., New York, NY, USA, May 2007

Li-Te Cheng, Anthony Cox, Rob DeLine, Cleidson de Souza, Kevin Schneider, Janice Singer, Margaret-Anne Storey, and Gina Venolia, Proceedings of Supporting the Social Side of Large-scale Software Development, a CSCW Workshop, Microsoft Research, November 2006

Robert DeLine, Mary Czerwinski, Brian Meyers, Gina Venolia, Steven Drucker, and George Robertson, Code Thumbnails: Using Spatial Memory to Navigate Source Code, in VLHCC '06: Proceedings of the Visual Languages and Human-Centric Computing, IEEE Computer Society, Washington, DC, USA, September 2006

Thomas D. LaToza, Gina Venolia, and Robert DeLine, Maintaining mental models: a study of developer work habits, in ICSE '06: Proceedings of the 28th international conference on Software engineering, ACM, New York, NY, USA, May 2006

Mike Barnett, Robert DeLine, Bart Jacobs, Manuel Fahndrich, Rustan Leino, Wolfram Schulte, and Herman Venter, The Spec# programming system: Challenges and directions., in Verified Software: Theories, Tools, Experiments (LNCS4171, ISSN 0302-9743), Springer Verlag, 10 October 2005

Robert DeLine, Mary Czerwinski, and George Robertson, Easing program comprehension by sharing navigation data, in Proceedings of the IEEE Symposium on Visual Languages and Human-Centered Computing, September 2005

Robert DeLine, Amir Khella, Mary Czerwinski, and George Robertson, Towards understanding programs through wear-based filtering, in Proceedings of the ACM Symposium on Software Visualization, May 2005

Robert DeLine, Staying Oriented with Software Terrain Maps, in Workshop on Visual Languages and Computation , 2005

Mike Barnett, Bor-Yuh Evan Chang, Robert DeLine, Bart Jacobs, and K. Rustan M. Leino, Boogie: A Modular Reusable Verifier for Object-Oriented Programs, in FMCO 2005, 2005

Robert DeLine and Manuel Fähndrich, Typestates for objects, in ECOOP 2004 — Object-Oriented Programming, 18th European Conference, Springer Verlag, June 2004

Mike Barnett, Rob DeLine, Manuel Fähndrich, K. Rustan M. Leino, and Wolfram Schulte, Verification of Object-Oriented Programs With Invariants, in Formal Techniques for Java-like Programs (FTfJP), July 2003

Manuel Fähndrich and Robert DeLine, Adoption and Focus: Practical Linear Types for Imperative Programming, in Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), ACM, May 2002

Manuel Fahndrich and Robert DeLine, Adaption and Focus: Practical Linear Types for Imperative Programming, in Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation , Association for Computing Machinery, Inc., November 2001

Robert DeLine and Manuel Fähndrich, Enforcing high-level protocols in low-level software, in Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), ACM, May 2001

Robert DeLine, Resolving Packaging Mismatch, January 1999

U.S. Patents

George G. Robertson, Mary P. Czerwinski, and Robert A. DeLine. "System and method for managing user interaction data in a networked environment". Patent #7,793,259, issued September 7, 2010.

Robert DeLine, Mary Czerwinski, Brian R. Meyers, Gina Venolia, Steven M. Drucker, and George G. Robertson, "Dynamic thumbnails for document navigation", Patent #7,739,622, issued June 15, 2010.

Robert A. DeLine, "Cartographic software maps", Patent #7,614,035, issued November 3, 2009.

Robert Anthony DeLine and Manuel Alfred Fahndrich, "Plug-in pre- and postconditions for static program analysis", Patent #7,526,755, issued April 28, 2009.

Robert Anthony DeLine and Manuel Alfred Fahndrich, "Persisted specifications of method pre-and post-conditions for static checking", Patent #7,421,680, issued September 2, 2008.

Student Supervision

Miryung Kim, dissertation committee, University of Washington, 2008.
Andrew Bragdon, intern, Brown University, 2011.
Adrian Kuhn, intern, University of Bern, 2010.
Chris Parnin, intern, Georgia Tech, 2009.
Paula Bach, intern, Penn State University, 2008, 2007.
Medha Umarji, intern, University of Maryland Baltimore County, 2008.
Sushil Bajracharya, intern, University of California Irvine, 2007.
Andrew J. Ko, intern, Carnegie Mellon University, 2006.
Thomas LaToza, intern, Carnegie Mellon University, 2005.
Amir Khella, intern, University of Maryland, 2004.
Donna Malayeri, intern, Carnegie Mellon University, 2003.
Dan Grossman, intern, Cornell University, 2001.

Professional Activities

Steering Committees

IEEE Symposium on Visual Languages / Human-Centered Computing (VL/HCC), 2011-2013.

Organizing Committees

Microsoft Research/University of Washington Summer Institute on the Human Aspects of Software Development, Skamania, Washington, August 2007. Organized with David Notkin (UW), David Hendry (UW), Gina Venolia (MSR), and Andrew Begel (MSR).

Computer-supported Collaborative Work (CSCW) Workshop on Supporting the Social Side of Large-Scale Software Development, Banff, Alberta, Canada, November 2006. Organized with Li-Te Cheng (IBM Research), Anthony Cox (Dalhousie University), Cleidson de Souza (Universidade Federal do Para), Kevin Schneider (University of Saskatchewan), Janice Singer (National Research Council of Canada), Margaret-Anne Storey (University of Victoria), and Gina Venolia (Microsoft Research).

Program Committees

Conferences

ACM Foundations on Software Engineering (SIGSOFT/FSE), 2012, 2008.
International Conference on Software Engineering (ICSE): 2012 (research track), 2010 (workshops), 2009 (research track).
IEEE Symposium on Visual Languages / Human-Centered Computing (VL/HCC), 2011, 2009 (chair), 2008.
ACM Computer-Human Interaction (CHI), associate chair, 2008.
Empirical Software Engineering and Measurement (ESEM), short papers, 2007.

Workshops

Workshop on Cooperative and Human Aspects of Software Engineering (CHASE) 2009.
Workshop on Collaboration and Knowledge Sharing in Software Development Teams (SofTEAM) 2009.

Invited Participation

Workshops

Bellairs Workshop on Software Analysis for Recommendation Systems, 2008.
Dagstuhl Seminar on Mining Programs and Processes, 2007.
Bellairs Workshop on Software Navigation Analysis, 2006.
Doctoral Consortium, International Conference on Software Engineering, 1997.
International Software Architecture Workshop, San Francisco, California, 1996.
Component-Based Software Development Workshop, Redmond, Washington, 1996.
Open Implementation Workshop, Gleneden Beach, Oregon, 1994.

Public Technology Demonstrations

DARPA Demo Days, Baltimore, Maryland, 1998.
DARPA Demo Days, Seattle, Washington, 1997.

Awards

Best paper award, IEEE Symposium on Visual Languages and Human-Centered Computing, 2005.
Best paper award, ACM Conference on Programming Language Design and Implementation, 2001.
Carnegie Mellon University, Eberly Center for Teaching Excellence, Teaching Fellow, 1998.
University of Virginia. Louis T. Rader Award for Computer Science, 1991.
Tau Beta Pi, 1990.
University of Virginia. Rodman Scholar, 1988.
National Merit Scholar, 1988.