Skip to main content

aerial drone iconAutonomous and Cyber-Physical Systems

Subareas: Real-time and Embedded Systems, Sensor Systems, Mobile Computing, Control Theory and Systems, Formal Methods, Automated Verification and Certification
Faculty: AlterovitzAnderson, Chakraborty, DuggiralaNirjon


Systems that benefit from a tight coupling of the modeling and analysis of physical plants and the hardware/software systems that control such plants are referred to as Cyber Physical Systems (CPS). The goal is to better integrate principles of control theory with real-time and embedded systems design, rather than designing the control strategies and their implementation platforms independently, which has traditionally been the case. Such a holistic design reduces the need for testing, and ad hoc implementations of controllers on distributed embedded platforms, and instead, supports automated synthesis, verification and certification.

As we are rapidly moving towards the design of autonomous systems, such a disciplined approach towards the design and implementation of control algorithms, as promoted by CPS, is increasingly becoming important. The presence of complex sensors, like cameras, radars, and lidars – that are today common in autonomous cars, drones, or robots – introduce large processing delays, and offer different tradeoffs between accuracy, delay and resource requirements. These tradeoffs need to be explicitly accounted for when designing control algorithms that use such sensors. The distributed and multicore processing platforms on which control algorithms are implemented today also defy the traditional view of a centralized controller that has a synchronized access to all sensors, can compute all control inputs instantaneously, and can provide all actuations synchronously. Instead new controller design and implementation strategies that marry control theory with formal methods, and other branches of Computer Science like program analysis and compilers is becoming important.


DNA iconBioinformatics and Computational Biology

Subareas: Computational Genetics, Computational Immunology, Proteomics, Statistical Genetics, Single-Cell Bioinformatics
Faculty: AhaltKrishnamurthy, Marron, McMillan, Snoeyink, Stanley


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. Relevant People: Leonard McMillan; Collaborating Departments: Department of Biostatistics, Department of Genetics

Computational Immunology: Advancements in high-throughput flow and mass cytometry technologies have enabled the ability to study the immune system at an unparalleled depth.  Understanding immunological adaptations to particular diseases and in aging and development offers unique opportunities to develop novel diagnostic tests or to propose specialized treatments or lifestyle interventions to optimize human health. Using single-cell flow and mass cytometry data collected across multiple individuals, our goal is to develop new computational techniques to identify and link heterogeneity in the cellular landscape to external variables of interest, such as, a clinical phenotype or diagnosis. Recent advances in imaging cytometry also enable taking images of tissues and studying the spatial organization of immune cells. Application areas of interest include pregnancy, HIV, neuroimmunology, and T-cell biology. Relevant People Natalie Stanley; Collaborating Departments: Microbiology and Immunology, Computational Medicine Program, Department of Anesthesia

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.

Single-Cell Bioinformatics: Cellular heterogeneity, or the synergy of diverse and specialized cell-types drive a range of biological phenomena. Several technologies exist for measuring various properties (e.g. gene expression, protein expression) in individual cells, which allows for their comprehensive characterization and analysis in clinical or biological applications. Single-cell measurements can be studied in vitro to understand the etiology of disease.  For example, in hypoxia of heart muscle cells, the  cells become scar tissue and lose their muscle function.  This process can be studied by looking at single cell transcriptomes to determine the order of events. Further, it can be possible to “reprogram” this sequence of events to avoid the adverse outcome. See some of our recent work in reprogramming scar tissue cells to recover some heat muscle cell functionality.

Technologies and Data Science Problems:  Single-cell datasets produced with technologies, such as single-cell RNA sequencing (scRNA-seq) or flow and mass cytometry reveal a unique data structure where there are several high-dimensional single-cell measurements per profiled sample, which need to be efficiently integrated. 

Flow and Mass Cytometry: Flow and mass cytometry are high-throughput single-cell proteomics technologies for systematic analysis of the immune system. Often applied for the analysis of human blood and tissue samples, the produced datasets can collectively contain millions of cells. We focus on developing new computational techniques for representing, dissecting, and mining this large volume of cells to identify immunological adaptations in disease and development. 

Relevant People: Leonard McMillan, Natalie Stanley

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. Relevant People: Jack Snoeyink[/expand]


architectural blueprint iconComputer Architecture

Subareas: Accelerators, Clockless Logic, Energy-efficient Computing, Security
Faculty: Porter, Singh, Sturton


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.

Hardware-Enhanced Security: CPU vendors are increasingly deploying hardware to support security, such as Intel’s Software Guard Extensions.  We are studying hardware/software co-design to support secure execution environments that are efficient and easy to program.


computer graphics iconComputer Graphics

Subareas: Animation & Simulation, Graphics Hardware, Modeling, Rendering, Tracking, Virtual Environments, Visualization
Faculty: Alterovitz, Chakravarthula, Fuchs, Marks, Sengupta, Singh, Snoeyink, Daniel Szafir, Danielle Szafir


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.

image segmentation iconComputer Vision

Subareas: Geometric Vision, Language & Vision, Recognition
Faculty: Ahalt, Bansal, Bertasius, Marks, Niethammer, Sengupta


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


woman wearing virtual reality headset iconHuman-Computer Interaction

Subareas: Assistive Technology, Haptics, Human Factors Analysis, Sound & Audio Display, User-Interface Toolkits, Virtual Environments
Faculty: Dewan, Marks, Nirjon, Porter, Pozefsky, Srivastava, Stotts, Daniel Szafir, Danielle Szafir


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.

Wearable devices, such as smart watches and smart glasses, and other common sensors are increasingly facilitating new modes of interaction with modern computers—making the goal of ubiquitous computing realizable. A major research direction in HCI at UNC is exploring design techniques and system support to more easily extend desktop and phone applications onto devices with widely varying form factors and interaction modes.

Another significant research direction at UNC is exploring assistive technologies for users with impairments, such as learning disabilities, blindness, and low vision. These populations face significant barriers to education and employment that we aim to reduce, as well as study different modes of interaction with computers.

UNC also undertakes projects in computer-supported collaborative work, challenging the traditional paradigm of one user on one computer and enabling distributed users to simultaneously communicate with a program to collaborate with each other.


magnifying glass iconMachine Learning and Data Science

Subareas: Data Integration, Internet of Things, Knowledge Discovery, Machine Learning, Scientific Data Management, Visual Analytics
Faculty: Ahalt, Bansal, Bertasius, Chaturvedi, Krishnamurthy, Marks, McMillan, Niethammer, Nirjon, Oliva, Sengupta, Srivastava, Danielle Szafir, Yao


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. We also work on structured, interpretable, and generalizable deep learning models. Other topics of focus include multi-task learning, reinforcement learning, and transfer learning.

Internet of Things: The Internet of Things (IoT) is a fabric that is aimed at connecting every object in the world to the Internet. There are two schools of thoughts regarding IoT, emphasizing — IoT devices and networks, and IoT data analytics. Understanding both is essential to designing an end-to-end IoT system that senses the physical world, learns and makes inferences, talks to other IoT systems, and caters plethora of data-driven services that help us making better decisions, save our time, make our lives efficient, and keep us healthier.


chest x-ray iconMedical Image Analysis

Subareas: Biomechanical Modeling, Diffusion Imaging, Image-guided Interventions, Segmentation, Shape Analysis, Registration
Faculty: Alterovitz, Marron, Niethammer, Oguz, Pizer, Styner


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.

computer screen with book of multiple languages iconNatural Language Processing

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


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 for natural language generation based on image content and text-to-image reference resolution.

networking iconNetworking

Subareas: Distributed Systems, Internet Measurements, Multimedia Systems, Multimedia Transport, Network Protocols
Faculty: Aikat, Dewan, Jeffay, Kaur, Mayer-Patel, Nirjon, Pozefsky


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, 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. Dr. Nirjon works on low-power networks and radio frequency (RF) sensing techniques.

microchip on a computer screen iconOperating Systems

Subareas: File Systems, Virtualization, Concurrency, Software Support for Secure Hardware
Faculty: Anderson, B. Berg, Jeffay, Porter


Operating systems (OS) research at UNC studies end-to-end software system design. Modern operating systems struggle to ensure security, efficiency, reliability, and usability in the face of increasingly complex hardware and software. At a high-level, the OS group explores different system design points through building realistic prototypes and empirical measurement of the impact of these design choices.

This area has substantial overlap with a number of other research areas, including cyber-physical systems, real-time systems, mobile systems, networking, architecture, human-computer interaction, and security.

Collectively, this group has a track record of building substantial software systems that have impacted both research and industry, such as MC^2, Graphene, and BetrFS.


clock iconReal-Time Systems

Faculty: Anderson, Jeffay, Nirjon


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.

robotic arm iconRobotics

Subareas: Assistive Robotics, Manipulation, Medical Robotics, Motion Planning & Control, Robot Learning, Robot Perception (see: Computer Vision)
Faculty: Alterovitz, Bansal, Snoeyink, Daniel Szafir


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 cluttered environments, and manipulating materials at large and small scales.

At UNC, we are creating new algorithms to address fundamental computational challenges in robotics, including increasing the autonomy of robots, motion planning in complex environments, and providing new interfaces for natural human-robot interaction. We bring a broad range of expertise to these problems, including geometric methods, probabilistic methods, physically-based simulation, many-core CPU and GPU parallelization, cloud computing, machine learning, natural language processing, 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, robot design optimization, autonomous vehicles, and personal assistant robots.


padlock iconSecurity

Subareas: Cloud Computing Security, Cryptography, Hardware Security, Mobile Device Security, Network Security
Faculty: Aikat, Eskandarian, Kwong, Porter, Sturton


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: The use of cloud servers to outsource data and processing has become increasingly common. Because cloud 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.


stacked text books iconTheory

Subareas: Algorithms, Automated Theorem Proving, Formal Methods
Faculty: Anderson, B. Berg, Duggirala, Eskandarian, Snoeyink, Sturton


Theory is concerned with the general properties of computers, languages, and algorithms as opposed to their use for specific applications.  Prof. Anderson 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. Duggirala works on developing algorithmic verification techniques for ensuring safety of cyber-physical systems. Prof. Sturton works on developing algorithmic verification techniques for ensuring security of hardware designs.