Faculty Recruiting Support CICS

Software Systems and Architecture

Software Systems and Architecture

(Rick Adrion, Emery Berger, Yuriy Brun, Lori Clarke, Yanlei Diao, Arjun Guha, Neil Immerman, Eliot Moss, Lee Osterweil, Chip Weems, Jack Wileden)

Research in Software Systems and Architecture is concerned with improving the foundation upon which software systems are built. This encompasses research that ranges from the low-level hardware architecture, to compiler and runtime support systems, up to software development environments and advanced tools for reasoning about system behavior, as well as the interaction among these areas. Our research methodology typically involves the development of theoretical foundations evaluated through system development and experimentation. Current projects in computer science include the formal analysis of computing systems with the goal of discovering how to use them more efficiently, process language support for human-computer interaction, automated analysis of software including model checking and static analysis, formal and practical foundations for integration and interoperability, approaches for developing robust, high-performance software systems that behave well under load or attack, and synergistic co-development of architectural performance enhancements together with compiler and run-time system optimizations.

Architecture and Language Implementation
The Architecture and Language Implementation group has the goal of improving the performance of computer systems through the synergistic enhancement of the compiler, run-time environment, and architecture. Efforts include the Scale compiler and a wide range of optimizations for improving memory subsystem performance, Java virtual machines, garbage collection algorithms, microarchitectural support for advanced compiler and run-time optimizations, and parallel architectures.

Convergent Computing Systems Lab
CCSL research is aimed at supporting the creation and use of systems that incorporate components from different sources (e.g., written in different languages or imported from different Internet sites) into a synergistic whole. Current projects include JavaSPIN, a persistence extension for Java, and PolySPIN, an approach to automating seamless interoperability among Java, C++ and CLOS software modules.

Database and Information Management Laboratory
The Database and Information Management Laboratory (DBLab) focuses on the development of information infrastructures and data management systems for efficiently and securely managing large volumes of data. The research group is particularly interested in the challenges posed by emerging data types like XML and streaming data, and issues that arise in non-traditional architectures like embedded systems.

Laboratory for Advanced Software Engineering Research
The Laboratory for Advanced Software Engineering Research (LASER) is investigating the issues surrounding the development of complex software, and the construction of software environments. LASER research emphasizes software analysis and software process.

Programming Languages And Systems at Massachusetts
The PLASMA group (Programming Languages And Systems at MAssachusetts) investigates issues spanning the areas of programming languages, run-time systems (especially memory management) and operating systems. The focus of the group is on cooperative system support for robust and high-performing computing in the context of modern programming languages.

RIPPLES
The Research in Presentation Production for Learning Electronically (RIPPLES) project is investigating how to most effectively use the World Wide Web and CD/DVD-ROM to deliver lectures and course materials outside of the classroom. Its focus is on asynchronous learning environments in which students proceed at their own pace and are not assumed to be accessing the same material at the same time. Students can access lectures as digital audio or video, synchronized with slides, overheads or other materials.