Core Research AreaSoftware[Overview] [Faculty] [Projects] [Courses] Software focuses on design and programming techniques, tools and languages; programming frameworks and libraries; program analysis and transformation tools. FacultyGabriel Dos Reis, Assistant Professor (computer algebra, mathematical software, computer methods in geometry, programming languages and libraries, compiler construction, generic programming) Jaakko Järvi, Assistant Professor (Generic and generative programming, software libraries, programming languages, type systems) Lawrence Rauchwerger, Professor (Compilers for parallel and distributed computing, parallel and distributed C++ libraries, adaptive runtime optimizations, architectures for parallel computing) Bjarne Stroustrup, Professor and College of Engineering Endowed Chair in Computer Science (Distributed systems, software development tools, design, programming and programming languages, founding member of the ISO C++ standards committee)Mac Lively, Professor (Software engineering, AI/KB software engineering, computer-human interaction) Frank Shipman, Professor (Intelligent user interfaces, hypertext, computers and education, multimedia, new media, computers and design, computer-human interaction, computer-supported cooperative work) ProjectsAlgorithms for User Interfaces. Our hypothesis is that a large part of the functionality of a user interface can be implemented as reusable generic algorithms. In this project we study a declarative approach to programming user interfaces, where a concise "property model" captures the essential properties of the data manipulated by a user interface. Various user interface features are generic algorithms parametrized by a property model. C++0x, a large international collaborative project to develop the next-generation ISO C++ standard language and standard library. OpenAxiom, an open source platform for scientific computations, with emphasis on computer algebra, and symbolic-numeric computations. STAPL, an ISO Standard C++ based parallel computation library and run-time system. STAPL supports portable high-performance numerical computation on shared memory and cluster architectures using high-level abstractions in the spirit of the C++ standard library. STAPL is being developed in parallel with physics and biology applications. The Pivot, a general framework for static analysis of C++ programs with an emphasis on analyzing "advanced" features such as classes, class hierarchies, exceptions, and templates. In addition to traditional static analysis techniques, The Pivot will support library-specific optimization of STAPL and other high-level abstractions. |
