We believe that the information revolution is transforming universities, because it goes to the heart of what universities are about: the creation and dissemination of knowledge. A few universities will be leading the country and the world into this information-based future.
Computer Architecture and VLSI
Research in architecture and VLSI is part of the Computer Systems Laboratory. Computer-systems research at Cornell encompasses both experimental and theoretical work growing out of topics in computer architecture, parallel computer architecture, operating systems and compilers, computer protocols and networks, programming languages and environments, distributed systems, VLSI design, and system specification and verification.
Understanding intelligence and creating intelligent agents, the twin goals of artificial intelligence (AI), are two of the final frontiers of modern science. Early pioneers of computer science such as Turing, Von Neumann, and Shannon were captivated by the idea of creating a machine intelligence. Though much progress has been made, computer science and AI are still young fields, and many of the questions and issues considered then are actively being pursued today.
Research in AI at Cornell covers a wide range of topics, including decision theory, information retrieval, knowledge representation, machine learning and data mining, natural-language processing, planning, reasoning under uncertainty, search, and vision. A particular strength of the department is that our research embraces both theory and experiment, with particular emphasis on learning approaches to AI problems. Given the complexity of many of the basic questions in AI, our research often transcends traditional scientific boundaries. We are actively pursuing connections to other disciplines such as bioinformatics, economics, genomics, information science, linguistics, operations research, physics, pyschology, and statistics. The department is one of the main participants in the IISI and in two university-wide programs: COGST and CIS.
The recent completion of the Human Genome Project underlines the need for new computational and theoretical tools in modern biology. The tools are essential for analyzing, understanding, and manipulating the detailed information on life we now have at our disposal.
Problems in computational molecular biology range from understanding sequence data to the analysis of protein shapes, prediction of biological function, study of gene networks, and cell-wide computations.
Cornell has a university-wide plan in the science of genomics; CS is playing a critical role in this initiative. CS researchers are engaged in a broad range of computational-biology projects, from genetic mapping to advanced sequence analysis, fold prediction, structurecomparison algorithms, protein classification, comparative genomics, and long-time simulation of protein molecules.
The Cornell Database Group is exploring issues related to all aspects of data management. Our interests range from developing efficient algorithms for very large data sets to building large-scale systems for new and emerging applications.
In the Cougar project, we are developing database technology for sensor networks. In the Himalaya project, we are exploring new directions in data mining. In the Pepper project, we are developing a query layer for largescale peer-to-peer systems. In the Quark project, we are building a unified data-management system for both structured and unstructured data. We also collaborate with researchers in related areas such as systems, algorithms, and artificial intelligence.
Languages and Compilation
Cornell has particular strength in programming languages and compilation, with more than eight faculty members and twenty-five graduate students working in the area. Our research ranges from theory, including logics and semantics, to practical engineering issues in verification, optimizing compilers, security, and run-time systems. In addition, there are strong synergies within the languages and compiler groups, and exciting connections with other subdisciplines. For example, Greg Morrisett and Andrew Myers have developed secure programming languages, such as Typed Assembly Language (TAL) and Java Information Flow (Jif), that are used to ensure the safety and security of networked information systems. We also worked closely with the computer industry. For instance, Keshav Pingali’s group has recently licensed program optimization tools to Intel for use in their iA-64 compiler product line.
Cornell is a leader in the field of computer graphics. Computer graphics is a broad, interdisciplinary field that includes a wide and growing range of applications, from science to communication to entertainment. Research in computer graphics includes algorithms, physics, psychology, computation, computer vision, and architecture, among other fields.
The Program of Computer Graphics (PCG), an interdisciplinary research center with close ties to CS, was one of the pioneering laboratories in computer graphics. Established in 1974, the PCG has made breakthrough contributions in several areas: research topics include reflectance models; physics-based accurate rendering; visual perception for graphics, sketching, and modeling; medical visualization; and digital photography. The stateof- the-art facility includes many tools for advanced research, including a sophisticated light-measurement laboratory, a 128-processor PC cluster, and a high-resolution tiled projection display.
Over the years, the PCG has brought together researchers and students from different disciplines: computer science; physics; mathematics; electrical, structural, and mechanical engineering; architecture; and perception psychology. The recent hires of CS faculty members Bala and Marschner, who are also members of the PCG, have further strengthened our presence in the field.
Operating Systems, Networks,
and Distributed Computing
The Operating Systems group at Cornell examines the design and implementation of the fundamental software systems that comprise our computing infrastructure. Our interests span from the very small, including the smartcard systems that fit on a postage stamp–sized die, to the very large, including the wide-area distributed systems that span the globe.
Overall, we are concerned with fundamental questions in systems design. How should our computing infrastructure be structured to address the diverse challenges posed by ubiquitous computing, sensor networks, wide-area distributed computing, and large-scale Web services? What mechanisms and policies are required for a trustable computing infrastructure? What kind of techniques can we use to measure and characterize Web- and Internet-based systems, and how can we apply the lessons learned to the construction of next-generation networked systems?
To answer essential questions like these, we have undertaken many projects on diverse topics, ranging from peer-to-peer systems, operating system services for ad hoc and sensor networks, fault-tolerant communication protocols, application of formal techniques to Web service construction, secure smart-card operating systems, extensible operating systems, intrusion detection, and secure networked service design, among others.
Scientific and Parallel Computing
Scientists and engineers rely more than ever on computer modeling and simulation to buttress their experiments and designs. From improved understanding of the body’s circulatory system to the smart design of new medicines, today’s scientific and technological advances would be impossible without the combination of powerful computers and the powerful algorithms running on those computers.
The scientific computing group at Cornell develops the algorithms that underlie simulation and optimization. Matrix computations are a recurring theme in our research. The focus is on efficient and robust algorithms with an eye toward modern high-performance parallel and multithreaded architectures.
Cornell is a leader on a broad range of research issues related to computer security. Under the aegis of the Information Assurance Institute, located within CIS, we tackle the fundamental problem of ensuring the security and reliability of our global critical-computing infrastructure.
Many active research projects are aimed at developing a science-and-technology base that enhances information assurance and ensures the trustworthiness of networked information systems. These project areas range from system and network security to reliability and assurance, spanning language-based security, secure online services, advanced type systems for mobile code, static information-flow control, policy specification and enforcement, and proof carrying code.
Overall, the breadth and depth of the projects undertaken at Cornell are a direct result of the well-integrated, diverse, and collegial environment that CS provides. Our work draws its strength from the synergy between the groups working on security, programming languages, operating systems, logic, and formal methods.
Theory of Computing
The theory of computing is the study of efficient computation, models of computational processes, and their limits. It has emerged over the past few decades as a deep and fundamental scientific discipline. It is a young science, with many central questions still unanswered; and it is a science poised to have considerable impact on current issues in the development of systems and software, the nation’s network and communications infrastructure, and the physical and biological sciences. At Cornell, we are proud of our position as a world leader in the ongoing development of theoretical computer science.
Research at Cornell spans all areas of the theory of computing and is responsible for the development of modern computational complexity theory, the foundations of efficient graph algorithms, and the use of applied logic and formal verification for building reliable systems.
Our faculty and students are actively involved in areas such as the design of fundamental algorithms, combinatorial optimization, machine learning, computational complexity theory, computational algebra, logic in computer science, computational geometry, and applications to verification, reliable systems, data mining, information science, and the computational sciences.
In addition to its depth in the central areas of theory, Cornell is unique among top research departments in the fluency with which students can interact with faculty members in both theoretical and applied areas and work on problems at the critical juncture of theory and applications.