Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks. Hundreds of projects have used Alloy for design analysis, for verification, for simulation, and as a backend for many other kinds of analysis and synthesis tools, and Alloy is currently being taught in courses worldwide.
The challenge that motivates the ANA group is to foster a healthy future for the Internet. The interplay of private sector investment, public sector regulation and public interest advocacy, as well as the global diversity in drivers and aspirations, makes for an uncertain future.
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.
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.
Our research aims to scale hard-to-parallelize applications through new programming models and multicore architectures. Our goal is to enable
programmers to write efficient and scalable parallel programs as easily as they
write sequential programs today.
To enable privacy preservation in decentralized optimization, differential privacy is the most commonly used approach. However, under such scenario, the trade-off between accuracy (even efficiency) and privacy is inevitable. In this project, distributed numerical optimization scheme incorporated with lightweight cryptographic information sharing are explored. The affect on the convergence rate from network topology is considered.
Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady-state (the throughput) is important for both compiler designers and performance engineers.
However, building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error-prone, and must be performed from scratch for each processor generation.
Ithemal is the first tool that learns to predict the throughput of a set of instructions. It does so more accurately than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, Ithemal has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA).
This project focuses on altering the way trusted execution environments handle paging to decouple page access patterns from the control flow of the program, preventing an attacker from using these access patterns to learn information about program secrets.
On January 15, 2019, the MIT Internet Policy Research Initiative (IPRI) and Quest for Intelligence (QI) hosted the first MIT AI Policy Congress. The conference brought together global policymakers, technical experts, and industry executives to discuss the impact of AI across sectors, with panels on transportation and safety, manufacturing and labor, healthcare, criminal justice and fairness, national security and defense, and international perspectives.
Every spring, engineering students from MIT and law students from Georgetown University overcome the distance between their institutions and disciplines in a semester-long flurry of virtual classroom meetings and late-night Google hangout sessions, culminating in presentations to policy experts in DC.