Research in Computer Science at Cornell


Computer Architecture and Very Large Scale Integration (VLSI)

Experts in computer hardware work closely with members of the School of Electrical and Computer Engineering, forming interdisciplinary research teams. Graduate students are admitted to either graduate field. They usually enroll in ECE if their primary interest is in computer architecture, multiprocessor design, VLSI, computer-aided design (CAD) and circuit design; they enroll in CS if their interest is in compilers, operating systems, and programming environments. Students are not rigidly classified: ECE students can have a thesis advisor in CS and vice-versa. Research is conducted in the CSL and 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.

For more information, see http://www.cs.cornell.edu/Research/ Architecture/ and http://www.csl.cornell.edu

Artificial Intelligence

Research in AI at Cornell is both theoretical and experimental, and covers a range of topics, including decision theory, knowledge representation, machine learning and data mining, natural-language processing, planning, reasoning under uncertainty, search, and computer vision. Natural-language processing, the ability to interact with machines using plain English, is also a research area of special interest to researchers in information science. Computer vision encompasses both archival storage of images and the function of robotic eyes. Research in AI often involves such other disciplines as biology, economics, linguistics, medicine, operations research, physics, and psychology. A particular strength is in computer-intensive approaches to AI problems. Professors who work in AI are key participants in the university-wide Cognitive Studies Program (CSP) and in the IISI.

For more information, see http://www.cs.cornell.edu/Research/ai/ and http://www.cis.cornell.edu/iisi/


Computational Biology

Computational tools are being developed to analyze, understand, and manipulate newly available, richly-detailed information on the basic structures of life. Without advanced computing, biological databases with gigabytes of information would defy attempts to recognize patterns in them. Cornell has a university-wide initiative in the science of genomics, in which CS and others are taking part. CIS oversees interdisciplinary teaching and research in many aspects of computational biology. CIS initiated a novel graduate program in Computational Biology and Medicine in collaboration with Rockefeller University and Sloan–Kettering Research Institute. The Tri-institutional Program in Computational Biology and Medicine, now in its second year, builds on the strengths in the medical sciences in the New York City campuses and on the strengths in computer science at the Ithaca campus (for more information,
see http://www.cs.cornell.edu/grad/cbm/).

Within CS, the focus is on computational molecular biology. This includes pattern matching, protein classification, protein-fold prediction, long-time simulation of protein dynamics and function, and structure-comparison algorithms. CS is leading a new project, “The Library of Life”, in collaboration with the Bridging the Rift (BTR) Center, which will integrate (and create) data from classical and molecular biology of all living systems. The BTR Center also aims to promote peace in the Middle East and is located on the border between Israel and Jordan. The project will start with the creation of the Library of the Desert. For more details, see http://www.news.cornell.edu/features/BTR/

Another multiyear project seeks to create a database of the world’s approximately six million proteins. (For more information, see http://protomap.cornell.edu/ and http://biospace.cornell.edu/.) For more information on computational biology at Cornell, see http://www.cs.cornell.edu/Research/ compbio/ and http://www.cis.cornell.edu/cb/


Database Systems and Digital Libraries

Data-management topics range from efficient algorithms for very large data sets to large-scale systems for new and emerging applications. While traditional databases stored information numerically, today’s scientific, journalistic, and other databases often store pictures and related nontextual data. Summarizing this information for efficient storage presents a big challenge. Researchers in database systems collaborate with computer-science colleagues who work on theory, artificial intelligence, and operating systems. The Himalaya Project is exploring new directions in data mining. The Quark Project is building a system for querying semistructured Internet sources, and is related to the XML Data-management Project, which is part of Interactive Digital Libraries of Formal Algorithmic Knowledge. The Pepper Project is building a query layer for large-scale peer-to-peer systems. The Cougar Project is developing database technology for sensor networks.

For more information, see http://www.cs.cornell.edu/Research/datab/


Programming Languages and Compilation

Research in programming languages and compilation ranges from theory (including logic and semantics) to practical engineering issues (including verification, optimizing compilers, security, and run-time systems). Strong synergies exist with other subfields, for example in the development of secure programming languages, such as Typed Assembly Language (TAL) and Java Information Flow (Jif). Faculty members in this subfield work closely with the computer industry. One research group recently licensed program optimization tools to Intel for use in their iA-64 compiler product line. On-going research projects include Proof/Program Refinement Logic (PRL); several language-based security projects: Cyclone, a safe dialect of C; TAL (Typed Assembly Language); Jif; ECC (Efficient Code Certification); Polyglot, an extensible compiler framework for Java; JMatch, iterable pattern matching for Java; and Intelligent Systems Software.

For more information, see http://www.cs.cornell.edu/Research/lang

Computer Graphics

Cornell is a leader in the field of computer graphics, a broad, interdisciplinary field that includes a wide and growing range of applications from science to communication to entertainment. Research in computer graphics involves algorithms, physics, psychology, computation, computer vision, and architecture, among other fields. At Cornell, research and teaching in computer graphics are centered in CS and the closely affiliated PCG, one of the world’s leading computer-graphics laboratories and a dominant force in the international computer-graphics community for more than thirty years. The PCG is particularly famous for its work in realistic rendering, simulating environments that are physically accurate and perceptually indistinguishable from real-world scenes.

The interests of the computer-graphics group are broadly centered on the topic of high-quality rendering. Current research thrusts focus on the interrelated topics of improving the models of light scattering that underlie realism, deepening our understanding of how human viewers perceive computer-generated images, and developing algorithms for high-quality rendering at interactive rates. Other areas of interest include image-based modeling and texturing, architectural modeling, animation, graphics-hardware programming, and digital photography. The PCG’s state-of-the-art facility includes many tools for advanced research, including a sophisticated light-measurement laboratory with unique capabilities for directional light measurement, a large PC cluster, and a high-resolution tiled projection display.

For more information, see http://www.cs.cornell. edu/Research/graphics/


Operating Systems, Networks, and Distributed Computing

The systems group at Cornell is concerned with the design and implementation of the fundamental software systems that constitute a computing infrastructure. Our interests span from the very small, such as the smart-card systems that fit on a postage stamp–sized die, to the very large, like the wide-area distributed systems that span the globe. Past research by the group in fault tolerance, distributed communication, extensible systems, and Internet networking is widely cited and used. Concrete software artifacts developed at Cornell are used by the New York Stock Exchange and the French air traffic control system, and are also deployed in commercial operating systems. Over the last year: The Spinglass group (led by Ken Birman), which focuses on scalable group communication, has developed a series of protocols and systems for scalable information sharing, distributed monitoring, data mining, and control.

Paul Francis, who recently joined CS, has initiated the Firebreak project to add a ring of protection to the Internet Protocol that combats distributed denial-of- service attacks.

The Jif group (led by Andrew Myers) has shown that secure distributed systems can be constructed by automatically introducing encryption, partitioning, and replication to satisfy explicit policies for data confidentiality and integrity.

Robbert van Renesse has worked on scalable peer-to-peer systems, and has developed self-organizing protocols for high-throughput consistent data replication, aggregation of distributed information, failure detection, overlay multicast, and publish/subscribe.

Fred Schneider has led a group attempting to understand how fault-tolerance can be combined with attack tolerance and has investigated threshold cryptography with proactive secret sharing in the Cornell Single Sign-On (CorSSO) and Cornell Online Certification Authority (COCA) authentication services.

The Beehive project (led by E. Gün Sirer) has introduced a novel replication technique that enables fast (O(1)) lookups in distributed, fault-tolerant, scalable hashtables, and used this technique to build an alternative to the legacy Domain Name Service, a critical part of the cyber infrastructure used to translate Internet names to addresses.

For more information, see http://www.cs.cornell.edu/Research/Systems/.

Scientific and Parallel Computing

Scientists and engineers increasingly rely on computer models and simulation to buttress their experiments and designs. From the prevention of metal fatigue in engines to the design of new medicines, scientific and technological advances rely on powerful computers and the algorithms that run them. The scientific computing group develops the algorithms that underlie simulation and optimization. Matrix computations are a recurring theme in the research. The focus is on efficient and robust algorithms with an eye toward modern
high-performance parallel and multithreaded architectures.

For more information, see http://www.cs.cornell.edu/Research/scientif/


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 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.

For more information, see http://www.cs.cornell.edu/Research/Security/


Theory of Computing

Cornell is a world leader in the theory of computing with fundamental research that spans the breadth of the field. Our faculty members and students have contributed to such areas as the design and analysis of algorithms, combinatorial optimization, computational complexity, computational algebra, program logic and semantics, automated deduction, and computational geometry. Cornell is also at the forefront in applying theoretical ideas to practical problems in areas such as machine learning, data mining, software and hardware verification, reliable systems, computer vision and medical imaging, computer graphics, programming languages and compilers, information science, and the computational sciences. Yet, while the theory of computing is by now recognized as a deep and foundational scientific discipline with broad impact, many of its central questions remain unanswered. As we enter the information age, continued progress on the fundamental theoretical questions will be essential for heightened understanding of complex systems and software, the nation’s network and information infrastructure, and the physical and biological sciences.

For further information, see http://www.cs.cornell.edu/Research/theory/