Bioinformatics and Computational Biology

Subareas: Biostatistics, Computational Genetics, Proteomics, Statistical Genetics

Faculty: Ahalt, Gomez, Jojic, Marron, McMillan, Prins, Snoeyink, Wang

More Info
We have worked on a wide range of cutting edge problems in the area of bioinformatics and computational biology. Computational Genetics: Advances have been made over the last decade in our understanding of how genes influence phenotypes and contribute to disease susceptibility. It has become increasingly clear that the underlying mechanisms have a complex basis in which observed clinical outcomes result from a diverse range of causes interconnected through networks of genetic, biological and environmental interactions. The advances in high-throughput genotyping and sequencing have generated massive amounts of data that allow genome-wide analysis to be performed at much finer resolution than before, but at the same time posed great computational challenges. We have investigated a wide range of problems including haplotype inference, imputation, genome-wide association study, alternative splicing analysis, copy number variation detection, methylation, genome annotation and visualization. Immunology,

Development and Differentiation, and Metagenomics: We use novel measurement techniques as well as machine learning methods in understanding the interplay between these areas, with the aim of discovering the forces that shape the immune system throughout life. The overarching goal is to apply the insights from such analyses to propose new treatments for cancers.

Molecular Structure Modeling and Analysis: Diverse biological function is encoded in the atomic structure of macro-molecules such as Proteins and RNA. Understanding the sequence to structure to function relationships allows biochemists to predict the activity of genes and rationally design genes with novel biological function. Our interests include computational geometry models for molecular structure, high performance computing for dynamic simulation, mining structure motifs for protein functional prediction, remote homology detection, protein-protein interaction, and protein-ligand interaction.

Computer Architecture

Subareas: Clockless Logic, Energy-efficient Computing

Faculty: Brooks, Singh

More Info
Our department is engaged in research in several exciting new areas within computer architecture.

Energy-Efficient Systems: With the explosive growth in mobile devices, there has been a push towards increasing energy efficiency of computation for longer battery life. Reducing power consumption is also important for desktop computing to alleviate challenges of heat removal and power delivery. A special focus in our department has been on the development of energy-efficient graphics hardware. Another area of future interest is energy-harvesting systems, which are ultra-low-power systems that operate on energy scavenged from the environment.

Asynchronous or Clockless Computing: Asynchronous VLSI design is poised to play a key role in the design of the next generation of microelectronic chips. By dispensing with global clocks and instead using flexible handshaking between components, asynchronous design offers the benefits of lower power consumption, greater ease of integration of multiple cores, and greater robustness to manufacturing and runtime variation. Our researchers work on all aspects of asynchronous design, including circuits, architectures, and CAD tools. A key area of interest is application to network-on-a-chip for integration of multiple heterogeneous cores.

Computer Graphics

Subareas: Graphics Hardware, Animation & Simulation, Modeling, Rendering, Tracking, Virtual Environments, Visualization

Faculty: Alterovitz, Bishop, Brooks, England, Fuchs, Healey, Lastra, Lin, Manocha, Singh, Snoeyink, Taylor, Welch, Whitton

More Info
Computer graphics research at UNC investigates the representation, creation, and manipulation of image data that serve as the visual interface between people and computers. One of our primary research focuses is interactive graphics where the main challenges are the rapid generation of photorealistic images and high-quality simulation in response to user inputs, as well as the development of both software and hardware mechanisms for human interaction with graphical systems. We provide users with convincing, interactive, often immersive experiences in a computer generated synthetic environment. Some of the recent research topics include image-generation algorithms, geometric and physics-based modeling, computer animation, multi-modal interaction techniques (including haptics, audio, and project-based rendering), model and motion acquisition, large-scale data management, analysis, and visualization, graphics hardware, display devices, and their applications.

Computer-Supported Collaborative Work

Subareas: Architecture of Collaborative Systems, Mobile Collaboration, Collaborative Software Engineering, Collaborative Virtual Environments, Telepresence

Faculty: Brooks, Dewan, Fuchs, Mayer-Patel, Pozefsky, Sonnenwald, Stotts, Taylor, Welch, Whitton

More Info
Traditional computer science has assumed that a single user interacts with a computer program at any one time. A whole range of issues emerge when you decide to violate this fundamental assumption by allowing multiple, distributed users to simultaneously communicate with a program to collaborate with each other. Solutions to these issues come from a variety of fields, making this area – called computer-supported collaborative work – an interdisciplinary field. At UNC, we are looking at graphics techniques to support telepresence; architectures and abstractions to support scalable, efficient, multi-device collaboration; data mining techniques to make collaboration-related inferences and recommendations; and environments to support collaborative software engineering and distance education.

Computer Vision

Subareas: Geometric Vision, Recognition, Language & Vision

Faculty: Ahalt, A. Berg, T. Berg, Dunn, Frahm, Lazebnik

More Info
The goal of computer vision is to extract information from visual data and help computers understand the visual world. Vision algorithms increasingly impact our everyday lives. They help to keep cars safely on the road, enable remote robotics operations in hazardous environments, reconstruct 3D models of cities, and organize photo collections, both personal and across the web. The research in computer vision at UNC spans the breadth of the field, and is a fertile ground for collaborations bringing together geometry and recognition, computer vision and natural language, sensing and display devices, theory, and system architectures for vision processing.

The 3D Computer Vision group in the Department of Computer Science, led by Prof. Jan-Michael Frahm, conducts research in the areas of geometric computer vision and 3D reconstruction, as well as real-time and active computer vision. The Recognition group, led by Prof. Alexander Berg, develops algorithms for object detection, image understanding, and situated recognition in the real world, and studies large-scale machine learning. The Language and Vision group, led by Prof. Tamara Berg, focuses on exploring the relationship between people, language, and pictures.

The goal of the research being done by the 3D Computer Vision group is to develop fully automated systems for accurate and rapid 3D reconstruction of urban environments from photo collections and videos. The focus includes modeling the dynamic and transient scene objects to bring the models “alive”. Beyond pure reconstruction, the group has research thrusts on large-scale geo-location of terrestrial images. For many applications, 3D models are more descriptive and compact than the frames of the original video. For example, in a 3D model of a city, users can see a very large area at once, realize the spatial arrangement of the buildings at a single glance, and navigate freely to the parts that most interest them, something that would be more difficult and time-consuming using the original video. The 3D Computer Vision group further investigates in collaboration with Prof. Fabian Monrose the impact of modern computer vision methods onto data privacy and computer security.

The goal of the Recognition group is to develop algorithms to enable computers to extract semantic information from still image, depth, and video data. This includes understanding high-level scene categories (e.g., city, beach, forest, classroom), segmenting and identifying individual objects (cars, people, buildings, etc.), as well as identifying materials (glass, metal, wood, etc.) and surface properties (e.g., horizontal vs. vertical surfaces). The Recognition group is also developing efficient methods for large-scale recognition both on the internet and in the real world. The latter focus, on situated recognition algorithms, contributes to developing better systems — such as robots — for interacting in the physical world.

The goal of the Language and Vision group is to develop a better understanding of the relationship between people, their visual data, and the language they use to describe that data. In particular, this includes developing methods to: describe images or video using natural language, predict how a person will refer to specific objects in complex real-world scenes, and answer natural language questions about images. The group also works on problems related to understanding what our pictures reveal about ourselves. Tasks include clothing and style recognition and are applied to clothing recognition and other e-commerce-related problems.

Geometric Computing

Subareas: Geometric Modeling & Computation, Solid Modeling

Faculty: Lin, Manocha, Snoeyink

More Info
In our research we look for fast algorithms for problems from physically-based simulation, robot motion planning, CAD/CAM, and virtual prototyping: problems include collision and interference detection, collision-free path computation, motion planning, and computing Boolean operations and offsets. We also investigate frameworks to ensure that algorithms are robust to numerical error and to test geometric consistency for applications across the length scales: from molecular modeling to geographic information systems. By studying geometric problems in an abstract setting, we learn techniques that can be applied in many application domains.

High-Performance Computing

Subareas: Parallel Algorithms, Programming & Memory Models for Parallel Computing, Performance Analysis, Scientific Computing, GPUs & Other Computational Accelerators, Cyberinfrastructure

Faculty: Ahalt, Lin, Prins

More Info
Parallel programming models and their embodiment in programming languages and runtime systems. Programming models for nested parallelism, multi-core and many-core processors, and the parallel memory hierarchy. Design and analysis of parallel algorithms.

Application of HPC principles and techniques for real-time physically based simulations and for large-scale scientific computing problems. Examples include simulation of physical, visual, and acoustic properties of spaces and materials, and computational fluid dynamics problems to understand mechanisms of flying and swimming in organisms from tiny insects to giant whales.

Human-Computer Interaction

Subareas: Assistive Technology, Haptics, Human Factors Analysis, Sound & Audio Display, User-Interface Toolkits, Virtual Environments

Faculty: Bishop, Brooks, Dewan, Healey, Lin, Pozefsky, Sonnenwald, Stotts, Taylor, Welch, Whitton

More Info
Within the area of Human-Computer Interaction, UNC’s main focus is on developing immersive 3D interaction systems. This includes head-mounted displays that lets our collaborators walk around inside their molecular data, ship designs, and architecture. It also includes force-feedback systems that let our collaborators touch molecules, feel the brush interacting with the canvas for virtual painting, and feel the 3D models they are sculpting. It also includes the real-time generation of physically-based surround sound to enable designers to hear how a space will sound and to improve the realism and engagement of game play. Our focus on making complete tools for our collaborators continues to push us to develop both software, hardware (graphics engines, trackers, hand-held interaction devices), and new interaction techniques to meet their needs.

Additional work in this area includes developing accessible educational tools for people with disabilities.

Machine Learning and Data Mining

Subareas: Data Integration, Knowledge Discovery, Machine Learning, Scientific Data Management, Visual Analytics

Faculty: Ahalt, Bansal, A. Berg, T. Berg, Jojic, Kum, McMillan, Prins, Wang

More Info
Data Mining: Our group has a long history of developing data mining methods and has successfully applied them to solve problems in many other disciplines. Our interests include clustering and subspace clustering in high dimensional data, matrix factorization, graph mining and classification, efficient methods for large scale statistical tests.

Machine Learning: The problems we study combine vast amounts and disparate types of measurements with equally complex prior knowledge, posing unique challenges for machine learning. Our interests include both modeling paradigms, such as Bayesian nonparametric methods, and inference methodologies, such as MCMC, variational methods and convex optimization.

Medical Image Analysis

Subareas: Registration, Segmentation, Shape Analysis, Diffusion Imaging, Biomechanical Modeling, Image-guided Interventions

Faculty: Alterovitz, Lin, Marron, Niethammer, Oguz, Pizer, Styner

More Info
Medical Image Analysis research in the Department of Computer Science focuses on many problems of extracting and displaying information from CT, MR, ultrasound, X-ray, nuclear medicine images, and microscopy images to help physicians plan and deliver therapy and diagnose disease. Most of the recent work has been done on 3D medical images, and much of it involves describing the shape and longitudinal changes of anatomic objects of individuals and populations of individuals. We focus especially on applications in neuroscience, radiation oncology, and musculoskeletal diseases.

Natural Language Processing

Subareas: Language Generation, Question Answering and Dialogue, Multimodal and Grounded NLP (with Vision and Robotics)

Faculty: Bansal, A. Berg, T. Berg

More Info
Natural language processing (NLP) or computational linguistics is an area in machine learning and artificial intelligence that deals with understanding the meaning of human-style language and its interactions with machines. NLP research in the UNC Department of Computer Science (Prof. Bansal’s group) focuses on human-like language generation and question-answering/dialogue, multimodal, grounded, and embodied semantics (i.e., language with vision and speech, for robotics), and interpretable and structured deep and structured learning models. It also has strong connections with computer vision and machine learning research (Prof. Alex Berg’s and Tamara Berg’s groups) for natural language generation based on image content and text-to-image reference resolution.


Subareas: Distributed Systems, Multimedia Systems, Internet Measurements, Network Protocols, Multimedia Transport

Faculty: Aikat, Dewan, Jeffay, Kaur, Mayer-Patel, Pozefsky, F.D. Smith, Reiter

More Info
Networking research at UNC is centered on how to provide better or more efficient communication services by making sure that the components of distributed computers and networks all work together seamlessly. Specifically, the research focus of Drs. Jeffay, Smith, and Aikat is on network management software, software for routers and experimental methods for networking research. Dr. Kaur concentrates on the communications software found in PCs as well as large systems and Dr. Mayer-Patel’s research is directed at different ways to make the media used in applications richer. Drs. Reiter and Monrose work on ways to make networks more secure.

Real-Time Systems

Faculty: Anderson, Baruah, Jeffay

More Info
The Real-Time Systems Group studies application systems in which timing constraints exist. Usually, such systems are structured as a set of tasks (i.e., programs) and timing constraints are defined in terms of per-task deadline requirements. To ensure that timing constraints are met, offline validation algorithms are required that check whether deadlines will be met at runtime. The design of such validation algorithms hinges on how tasks are scheduled and how various complexities such as synchronization are addressed. Accordingly, research involving the design of algorithms for validating, scheduling, and synchronizing real-time task systems has been a continual focus within the group. Additionally, the development and evaluation of operating system infrastructure, in the form of scheduling and synchronization methods, has been an active topic of investigation. Many of the group’s current efforts focus on resource allocation problems that arise when implementing real-time applications on multicore machines.


Subareas: Planning & Algorithms, Medical Robotics, Manipulation, Kinematics & Dynamics, Human-Robot Interaction, Robot Perception (see: Computer Vision)

Faculty: Alterovitz, Lin, Manocha, Snoeyink

More Info
Robotics is increasingly affecting our daily lives and impacting healthcare, transportation, defense, manufacturing, and entertainment. New robots and algorithms are enabling physicians to perform more precise surgical procedures, assisting individuals with tasks of daily living, enabling autonomous agents to maneuver through crowded environments, and manipulating materials at the micro and nano scales.

At UNC, we are creating new algorithms to address fundamental computational challenges in robotics, including motion planning in complex environments, efficiently modeling robot kinematics and dynamics, and providing new interfaces for human-robot interaction. We bring a broad range of expertise to these problems, including geometric computing, probabilistic methods, physically-based simulation, many-core CPU and GPU parallelization, machine learning, computational haptics, and computer vision. We apply the new algorithms and methods we develop to a variety of applications involving both physical robots as well as virtual agents. Current applications include robot-assisted medical procedures, surgery training, design prototyping, intelligent transportation systems, nano-scale manipulation, computer animation, multi-robot/agent interactions, and personal assistant robots.


Subareas: Network Security, Cloud Computing Security, Mobile Device Security

Faculty: Monrose, Reiter, Sturton

More Info
Security research focuses on developing techniques to defend computer systems and networks against misuse and interference. Presently our department is engaged in several research directions in this general area.

Network security: Today’s Internet infrastructure is a common target of attack and the vehicle for numerous unwanted activities in network applications (e.g., spam, phishing).  We are conducting research to evaluate the extent of these vulnerabilities and to develop defenses against them.  This includes research on both protecting the Internet infrastructure from attack and designing defenses within the context of network applications.

Cloud computing security: An undeniable trend in computing is increased use of “clouds”, i.e., facilities to which customers outsource data and processing.  Because these facilities are shared, however, a customer’s data and processing may reside with those of competitors or attackers, and so privacy and integrity of the customer’s activities are paramount. We are developing technologies to better protect data and processing in such threatening environments.

Mobile device security: Mobile devices like smartphones pose interesting challenges and opportunities in the area of computer security. Challenges arise because as mobile devices evolve toward fully functional computers with platforms like Android, they become targets for exploits that are now common for personal computers and potentially new exploits arising from the usage modes they enable.  That said, as the first truly ubiquitous mobile computer, they offer new opportunities for security functionality, as well, e.g., for user authentication.  We are conducting research to address the threats facing mobile devices and to harness the new opportunities they offer.


Subareas: Design Patterns & Analysis, Agile Methods, Collaborative Development, Aspect-oriented Programming, Model Federations for Systems Science

Faculty: Ahalt, Brooks, Dewan, Hedlund, Pozefsky, Stotts

More Info
Software engineering at UNC-Chapel Hill is built on a long tradition starting with Fred Brooks’s The Mythical Man-Month. It is based on the practice of the discipline and built on the belief that the computer scientist is a toolsmith helping others. Hence, much of the software engineering research is done through collaborations with researchers in other disciplines, using their needs as our driving problems. Software engineering research includes collaborative development processes and tools, agile development, formal methods, systematic testing, design patterns, user interfaces, and the impact of programming languages on software development.


Subareas: Algorithms, Automated Theorem Proving

Faculty: Anderson, Plaisted, Snoeyink

More Info
Theory is concerned with the general properties of computers, languages, and algorithms as opposed to their use for specific applications.  Prof. Anderson and Baruah study scheduling algorithms for scheduling jobs on computers, and develop new algorithms with better asymptotic run times than existing ones. Prof. Snoeyink studies geometric algorithms, which are concerned with computing properties of geometric diagrams composed of lines and points, or modifying such diagrams in specified ways.  Such algorithms arise in many application areas. Prof. Plaisted’s main research area is the application of computers to proving mathematical theorems, and developing theorem proving methods with better performance than existing ones.