skip navigation

This page looks better in modern browsers. Please upgrade.

Brown Home Brown Home Brown Home Brown CS
 

Steven Reiss

Steven Reiss

Professor of Computer Science

Contact Information

Box 1910
Brown University
Providence, RI 02912
Email: spr at cs.brown.edu
Personal home page: http://www.cs.brown.edu/~spr/

Research Areas

Security
Software Engineering
User Interfaces and Virtual Reality
Verification and Reliable Systems

Research Themes

Internet

Research Topics or Projects

Software Visualization
Taiga: Internet-scale computing
Debugging
Information Visualization
Programming Environments
Software Development Tools & Environment

Courses Taught

CSCI0320   Introduction to Software Engineering
CSCI1260   Introductory Compiler Construction
CSCI1780   Parallel and Distributed Programming
CSCI2310   Human Factors and User Interface Design
CSCI2330   Programming Environments
CSCI2340   Software Engineering
CSCI0090-A   Building a Web Application

Research Interests

Steve Reiss’ research focuses on making programming easier. He is particularly interested in software tools and environments. He has developed a series of powerful programming environments and tools, including PECAN, GARDEN, FIELD, DESERT and, most recently, CLIME. PECAN demonstrated the power of workstations and multiple views in the early 1980s. GARDEN demonstrated the utility of visual languages in a multilingual conceptual framework. FIELD pioneered the concept of message-based (control) integration and illustrated a variety of program visualizations. It was highly successful and formed the basis (either conceptually or literally) for most UNIX programming environments in the 1990s. DESERT combined control integration, an inexpensive data-integration mechanism, and a common editor based on Framemaker to produce a comprehensive programming and design environment. CLIME used constraints and model checking techniques to manage software evolution and check statically for programming problems.

Software visualization has been a focus of many of the tools in these environments. PECAN provided graphical views of the syntax and semantics of the program and GARDEN provided dynamic visualization of program execution based on visual langauges. FIELD offered interactive visualizations of data structures, call graphs, the class hierarchy, build dependencies, performance data, I/O behavior, and memory utilization. DESERT provided tools that let the user quickly specify what data should be visualized and how it should be displayed, allowing new three-dimensional (3D) visualizations to be created in a matter of minutes. Beyond this, the BLOOM visualization system combines extensive trace collection facilities, a variety of data analysis including statistical and inferential approaches, a simplified visual query language for defining what to visualize, and a variety of 3D visualization tools. His more recent work in this area looks at the visualization of the behavior of real systems in real time. JIVE provides views of thread and class behavior and JOVE provdes views of where execution is occurring at the statement level. Current work in this area involves developing a system that lets the user quickly define problem and program specific dynamic visualizations.

Other recent work has focused on the confluence of web services, grid computing, peer-to-peer computing, and open source. The TAIGA system provides a framework for experimenting with the various issues that arise when programs call other programs on remote computers, when data is shared globally, and when programs are written by unknown or untrusted sources and run on untrusted machines. The key idea behind TAIGA is that programming needs to be done with a component model where the component interface includes the semantics of the component and where implementations can be tested against this semantics. Semantics in this case is used in the broad sense and includes formal semantics, contracts, test cases, privacy and security constraints, recovery information, and an economic model for using the component.

Selected Publications

Reiss, S. P., and Renieris, M. JOVE: Java as it happens. In Proceedings of the ACM Symposium on Software Visualization (SoftVis 2005) (May 2005), pp. 115-124. [ pdf ]

Reiss, S. P. A component model for Internet-scale applications. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005) (Nov 2005), pp. 34-43. [ pdf ]

Reiss, S. P. CHET: A system for checking dynamic specifications. In Proceedings of the 19th IEEE International Conference on Automated Software Engineering (ASE 2004) (2004), pp. 302-305. [ pdf ]

Reiss, S. P., Kennedy, C. M., Wooldridge, T., and Krishnamurthi, S. CLIME: An Environment for Constrained Evolution. Proceedings of the 25th International Conference on Software Engineering (ICSE), pp. 818-819. [ pdf ]

Reiss, S. P. JIVE: visualizing Java in action. In Proceedings of the 25th International Conference on Software Engineering (ICSE 2003) (May 2003), pp. 820-821. [ pdf ]

Reiss, S. P. Bee/Hive: a software visualization backend. In Proceedings of the IEEE Workshop on Software Visualization (May 2001). [ pdf ]

Reiss, S. P. The Desert environment. ACM Transactions on Software Engineering and Methodology 8, 4 (Oct 1999), 297-342. [ pdf ]

Reiss, S. P. 3-D visualization of program information. In Graph Drawing, Proceedings of the Discrete Mathematics and Theoretical Computer Science Center International Workshop (1994), pp. 12-24.

Reiss, S. P. FIELD: A Friendly Integrated Environment for Learning and Development. Kluwer, 1994.

Reiss, S. P. Connecting tools using message passing in the FIELD environment. IEEE Software 7, 4 (Jul 1990), 57-67. [ pdf ]

Reiss, S. P. Working in the GARDEN environment for conceptual programming. IEEE Software 4, 6 (Nov 1987), 16-27.

Reiss, S. P. PECAN: program development systems that support multiple views. IEEE Trans. Soft. Eng. SE-11 (Mar 1985), 276-284.

Reiss, S. P. Generation of compiler symbol processing mechanisms from specifications. ACM Transactions on Programming Languages and Systems 5, 2 (Apr 1983), 127-163.

Reiss, S. P., and Savage, J. E. SLAP - A Methodology for Silicon Layout. In Procs. IEEE Int. Conf. on Circuits and Computers (Sep 1982), pp. 281-285.

Reiss, S. Security in databases: a combinatorial study. Journal of the ACM 26, 1 (Jan 1979), 45-57.

Reiss, S. Statistical database confidentiality. Tech. rep., University of Stockholm, 1977.


All publications by Steven Reiss
Page Owner: Steven Reiss Last Modified: Mon Aug 20 14:30:39 2007