# Research

- Research Areas
- Impact Areas

2 Group Results matching all criteria

#### Research Group

## Haystack Group

We are an interdisciplinary group of researchers blending approaches from human-computer interaction, social computing, databases, information management, and databases.

5 Project Results matching all criteria

#### Project

## A Simplified and Extensible Cilk Runtime for Research

CilkS is a new runtime system for the Cilk multithreaded programming environment which makes it easy to experiment with new algorithms, data structures, and programming linguistics.

#### Project

## Programming Abstractions for Dynamic Graph Analytics

We plan to develop a programming abstraction to enable programmers to write efficient parallel programs to process dynamic graphs.

#### Project

## Bridging Theory and Practice in Shared-Memory Parallel Algorithm Design

This project aims to design parallel algorithms for shared-memory machines that are efficient both in theory and also in practice.

#### Project

## OpenTuner: An Extensible Framework for Program Autotuning

OpenTuner is a new framework for building domain-specific multi-objective program autotuners.

#### Project

## Performance Engineering of Cache Profilers

Our goal is to develop lightweight tools that allow programmers to better understand the cache performance of their applications. Tasks include designing profilers, performance engineering existing ones, and exploring different metrics for cache interactions.

7 People Results matching all criteria

1 News Results matching all criteria

## Goldwasser gives briefing on cryptography to Congress

Last week CSAIL principal investigator Shafi Goldwasser spoke about cryptography and privacy as part of the annual congressional briefing of the American Mathematical Society (AMS) and the Mathematical Sciences Research Institute (MSRI).

24 Group Results

#### Research Group

## Applied Computing Group

We design software for high performance computing, develop algorithms for numerical linear algebra, and research random matrix theory and its applications.

#### Research Group

## Commit Group

We focus on finding novel approaches to improve the performance of modern computer systems without unduly increasing the complexity faced by application developers, compiler writers, or computer architects.

#### Research Group

## Complexity Theory Group

Our interests span quantum complexity theory, barriers to solving P versus NP, theoretical computer science with a focus on probabilistically checkable proofs (PCP), pseudo-randomness, coding theory, and algorithms.

#### Research Group

## Computation and Biology

Our lab focuses on designing algorithms to gain biological insights from advances in automated data collection and the subsequent large data sets drawn from them.

#### Research Group

## Computation Structures Group

Our mission is fostering the creation and development of high-performance, reliable and secure computing systems that are easy to interact with.

#### Research Group

## Computational Connectomics Group

Our group’s goal is to create, based on such microscopic connectivity and functional data, new mathematical models explaining how neural tissue computes.

#### Research Group

## Cryptography and Information Security Group

We seek to develop techniques for securing tomorrow's global information infrastructure by exploring theoretical foundations, near-term practical applications, and long-range speculative research.

#### Research Group

## Database Group

We conduct research on all areas of database systems and information management.

#### Research Group

## Geometric Data Processing Group

Our group studies geometric problems in computer graphics, computer vision, machine learning, optimization, and other disciplines.

#### Research Group

## Haystack Group

We are an interdisciplinary group of researchers blending approaches from human-computer interaction, social computing, databases, information management, and databases.

#### Research Group

## Julia Lab

We focus on theoretical and numerical aspects of the core Julia language, base library, and several other packages.

#### Research Group

## MIT App Inventor

MIT App Inventor is an intuitive, visual programming environment that allows everyone – even children – to build fully functional apps for smartphones and tablets.

#### Research Group

## Multicore Algorithmics

We develop techniques for designing, implementing, and reasoning about multiprocessor algorithms, in particular concurrent data structures for multicore machines and the mathematical foundations of the computation models that govern their behavior.

#### Research Group

## Multimodal Understanding Group

Our objective is to build techniques, software, and hardware that enable natural interaction with

computation.

computation.

#### Research Group

## Programming Languages and Software Engineering

We research programming languages, software engineering, and related work in human-computer interaction.

#### Research Group

## Programming Methodology Group

We develop innovative approaches for building software and for solving problems in modern parallel and distributed software systems.

#### Research Group

## Quantum Information Science Group

Our research interests center around the capabilities and limits of quantum computers, and computational complexity theory more generally.

#### Research Group

## Software Design Group

Our goal is to find better ways to make software, and ways to make software better.

#### Research Group

## Supertech Research Group

#### Research Group

## Sussman Lab

We focus on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing educational methods.

#### Research Group

## Theory of Computation Group

Theory research at CSAIL covers a broad spectrum of topics, including algorithms, complexity theory, cryptography, distributed systems, parallel computing and quantum computing.

#### Research Group

## Theory of Distributed Systems Group

We work on a wide range of problems in distributed computing theory. We study algorithms and lower bounds for typical problems that arise in distributed systems---like resource allocation, implementing shared memory abstractions, and reliable communication.

#### Research Group

## Usable Programming Group

We design and study systems that improve the learnability, efficiency, and safety of software development.

70 Project Results

#### Project

## A new way of handling all-to-all broadcast

We design a new all-to-all broadcasts scheme with significantly less communication cost using aggregate signatures.

#### Project

## A Simplified and Extensible Cilk Runtime for Research

CilkS is a new runtime system for the Cilk multithreaded programming environment which makes it easy to experiment with new algorithms, data structures, and programming linguistics.

#### Project

## Algebraic Techniques for Algorithm Design

We work on improving the algorithms for algebraic problems like matrix multiplication, and using these to design algorithms for fundamental non-algebraic problems.

#### Project

## Algorithmic Aspects of Performance Engineering

The project concerns algorithmic solutions for writing fast codes.

#### Project

## Approximating the diameter of a directed graph

There is a family of approximation algorithms for computing the diameter of an undirected graph that give a time/accuracy trade-off and our goal is to extend these results to directed graphs.

#### Project

## Aspect-Augmented Adversarial Networks for Domain Adaptation

We propose a novel aspect-augmented adversarial network for cross-aspect and cross-domain adaptation tasks. The effectiveness of our approach suggests the potential application of adversarial networks to a broader range of NLP tasks for improved representation learning, such as machine translation and language generation.

#### Project

## Basing Cryptography on Structured Hardness

We aim to base a variety of cryptographic primitives on complexity theoretic assumptions. We focus on the assumption that there exist highly structured problems --- admitting so called "zero-knowledge" protocols --- that are nevertheless hard to compute

#### Project

## Bellmania

Deductive synthesis for large-scale implementations of dynamic programming algorithms

#### Project

## Bridging Theory and Practice in Shared-Memory Parallel Algorithm Design

This project aims to design parallel algorithms for shared-memory machines that are efficient both in theory and also in practice.

#### Project

## CilkPride

CilkPride is a programming environment that aims to make performance and safety information always available and appropriately visible to the programmer.

#### Project

## Compilation Using Correct-by-Construction Program Synthesis

We're using proof assistants to build correct, extensible compilers, by rephrasing compilation in terms of producing mathematical proofs.

#### Project

## Compression and Reordering for Parallel Graph Analytics

We plan to develop a suite of graph compression and reordering techniques as part of the Ligra parallel graph processing framework to reduce space usage and improve performance of graph algorithms.

#### Project

## Coresets for Machine Learning Algorithms

Our goal is to design novel data compression techniques to accelerate popular machine learning algorithms in Big Data and streaming settings.

#### Project

## Data Civilizer

Data scientists universally report that they spend at least 80% of their time finding data sets of interest, accessing them, cleaning them and assembling them into a unified whole.

#### Project

## Data Garbling: Computing on Encrypted Data

We are investigating the limits of computing on encrypted data, with a focus on the private outsourcing of computation over sensitive data.

#### Project

## Data Warehouse Construction

Historically, DBMSs in the warehouse space partitioned their data across a shared nothing

cluster.

cluster.

#### Project

## Deep Inverse Planning

Deep inverse planning for learning from high-dimensional demonstrations

#### Project

## Deterministic Algorithms for Robotic Task and Motion Planning

Our goal is to investigate deterministic algorithms for robotic task and motion planning.

#### Project

## Distributed Computation in Ant Colonies

We are interested in applying insights from distributed computing theory to understand how ants and other social insects work together to perform complex tasks such as foraging for food, allocating tasks to workers, and choosing high quality nest sites.

#### Project

## Diversity-inducing Probability Measures

We aim to understand theory and applications of diversity-inducing probabilities (and, more generally, "negative dependence") in machine learning, and develop fast algorithms based on their mathematical properties.

#### Project

## Driver-Friendly Bilateral Control for Suppressing Traffic Instabilities

Self-driving cars themselves can solve traffic problems even without global control.

#### Project

## Déjà Vu: Constructing Apps from Clichés

Déjà Vu is a new platform for end-user development of apps with rich functionality. It features a novel theory of modularity for binding concepts; an extensive library of reusable concepts; and a WYSIWYG tool for specifying bindings and customizing visual layout

#### Project

## Efficient Robust Estimation in High Dimensions

We are developing robust estimators for multivariate distributions which are both computationally efficient and near-optimal in terms of their accuracy. Our focus is on methods which are both theoretically sound and practically effective.

#### Project

## Fast Lightweight Autonomy

The goal of the FLA program is to explore non-traditional perception and autonomy methods that could enable a new class of algorithms for minimalistic high-speed navigation in cluttered environments.

60 People Results

## Cenk Baykal

Graduate Student

## Tej Chajed

Graduate Student

## Stephen Chou

Graduate Student

## Valentin Churavy

Graduate Student

## Debayan Gupta

Lecturer

## Joanne Hanley

Administrative Assistant II

## Jamey Hicks

Research Affiliate

## Gautam Kamath

Graduate Student

11 News Results

## Programming drones to fly in the face of uncertainty

CSAIL's NanoMap system enables drones to avoid obstacles while flying at 20 miles per hour, by more deeply integrating sensing and control.

## Institute launches the MIT Intelligence Quest

New Institute-wide initiative will advance human and machine intelligence research.

## 3Q: D. Fox Harrell on his video game for the #MeToo era

The Imagination, Computation, and Expression Laboratory at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) has released a new video game called Grayscale, which is designed to sensitize players to problems of sexism, sexual harassment, and sexual assault in the workplace.

## Goldwasser, Micali, and Rivest win BBVA Foundation Frontiers of Knowledge Awards

This week it was announced that MIT professors and CSAIL principal investigators Shafi Goldwasser, Silvio Micali, Ronald Rivest, and former MIT professor Adi Shamir won this year’s BBVA Foundation Frontiers of Knowledge Awards in the Information and Communication Technologies category for their work in cryptography.

## Improving traffic - by tailgating less

New CSAIL work shows that traffic would flow faster if drivers kept an equal distance between cars

## Four from MIT named 2017 Association for Computer Machinery Fellows

Today four MIT faculty were named among the Association for Computer Machinery's 2017 Fellows for making “landmark contributions to computing.”

## Goldwasser gives briefing on cryptography to Congress

Last week CSAIL principal investigator Shafi Goldwasser spoke about cryptography and privacy as part of the annual congressional briefing of the American Mathematical Society (AMS) and the Mathematical Sciences Research Institute (MSRI).

## Faster big-data analysis

We live in the age of big data, but most of that data is “sparse.” Imagine, for instance, a massive table that mapped all of Amazon’s customers against all of its products, with a “1” for each product a given customer bought and a “0” otherwise. The table would be mostly zeroes.

## Bug-repair system learns from example

Anyone who’s downloaded an update to a computer program or phone app knows that most commercial software has bugs and security holes that require regular “patching.” Often, those bugs are simple oversights. For example, the program tries to read data that have already been deleted. The patches, too, are often simple — such as a single line of code that verifies that a data object still exists.

## CSAIL's Daniel Jackson receives two ACM awards

This week the Association for Computer Machinery presented CSAIL principal investigator Daniel Jackson with the 2017 ACM SIGSOFT Outstanding Research Award for his pioneering work in software engineering. (This fall he also received the ACM SIGSOFT Impact Paper Award for his research method for finding bugs in code.)An EECS professor and associate director of CSAIL, Jackson was given the Outstanding Research Award for his “foundational contributions to software modeling, the creation of the modeling language Alloy, and the development of a widely used tool supporting model verification.”

## Cinematography on the fly

In recent years, a host of Hollywood blockbusters — including “The Fast and the Furious 7,” “Jurassic World,” and “The Wolf of Wall Street” — have included aerial tracking shots provided by drone helicopters outfitted with cameras. Those shots required separate operators for the drones and the cameras, and careful planning to avoid collisions. But a team of researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) and ETH Zurich hope to make drone cinematography more accessible, simple, and reliable.