Research
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.
Artificial Intelligence
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.
Computational Biology
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.
Database Systems
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.
Computer Graphics
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.
Security
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.