Students may apply to one or more of the below projects, indicating this in their statement of interest, or they may apply for "Computer Science: General," indicating in their statement of interest their skills and background and some faculty with whom they would be interested in working. Computer Science Faculty List
|Title||Name||Project Name||Project Description||Requirements|
|Prof.||Suresh Jagannathanemail@example.com||Quelea: High-Level Reasoning of Low-Level Consistency and Isolation||This project considers the application of language design principles and formal methods (program analysis, semantics, logics, testing frameworks, etc.) to reason about the behavior and implementation of large-scale distributed systems and databases in which state is replicated. Such systems form the backbone of most modern Web services (e.g., think Amazon, EBay, or Twitter). We are particularly interested in program verification: how do we ensure that an application's invariants are preserved in the presence of so-called "weakly" consistent systems - systems in which there is no single global consensus on the state of data objects.||Students should have some exposure to programming languages, compiler design, and formal logic. They should preferably also have some exposure to software testing and concurrent/distributed systems.|
|Assoc. Prof.||Aniket Katefirstname.lastname@example.org||Interconnecting Blockchains||Cryptocurrencies such as Bitcoin and Ethereum have emerged as a paradigm shift for the way payment systems work today. Cryptocurrencies rely on the blockchain, a technology that has been proven useful in a vast number of applications other than monetary transactions. Many companies today are tailoring the blockchain technology to their business logic and successfully developing applications for credit settlement networks, supply chain, IoT and beyond. However, these separate efforts are leading to incompatible individual systems. This contrasts with our highly interconnected world and it is inevitable to see that soon these blockchains will need to operate with each other, effectively forming a network of blockchains where transactions can flow through a sequence of blockchains, similar how the network of networks (i.e., the Internet) works today.
In this project, we plan to explore how to connect the different blockchains in a secure manner, a task that requires research into many interesting and challenging problems. For instance, in such a scenario it is crucial to devise a scalable mechanism to find routes between two users enrolled in different blockchains. Moreover, we require an accountability mechanism for provable guarantees of delivery of funds in a transaction. In a bit more detail, we want a proof that convinces the sender of that funds are delivered to the receiver, while receiver cannot falsely claim that such delivery has not occurred. In summary, in this project, we will design and evaluate the tools required to move money the same way as the data moves today, therefore enabling the Internet of Value.
|An ideal intern should have completed course-work in two or more of the following fields: cryptography, security/privacy, networks, distributed systems. The student should be extremely motivated to perform theoretical analysis as well as to implement systems and perform experimental evaluation. Our team not only designs provably secure protocols but also builds practical systems towards a real-world use.|
|Assoc. Prof.||Chunyi Pengemail@example.com||Boos Virtual Reality over LTE||VR is an emerging mobile app. Compared to traditional video streaming, it enables user interactions and enhances user experience with adaptive HD videos based on user motions. This thus calls for much lower latency. This project is to investigate whether LTE can meet the latency requirement and how to boost VR experience in case network latency is hard to guarantee.||1. background on computer networking and PHY/MAC in wireless communication
2. Android and Python programming
3. Experience with VR app is a plus
|Prof.||Bharat Bhargavafirstname.lastname@example.org||Intelligent autonomous systems||Intelligent Autonomous Systems (IAS) are highly cognitive, reflective, multitask-able, and effective in knowledge discovery . Examples of IAS include software that is capable of automatic reconfiguration, autonomous vehicles, network of sensors with reconfigurable sensory platforms, and an unmanned aerial vehicle respecting privacy by deciding to turn off its camera when pointing inside a private residence. Research is needed to build systems that can monitor their environment and interactions, learn their capability, and adapt to meet the mission objectives with limited or no human intervention. The systems should be fail-safe and should allow for graceful degradations while continuing to meet the mission objectives.||third year EE or CS|
|Asst Prof.||Tiark Rompfemail@example.com||Flare - a high perfomrance bid data and AI system||Flare is a big data and machine learning platform developed here at Purdue (flaredata.github.io). Flare can transparently accelerate pipelines implemented in Apache Spark and TensorFlow, and provides speedups of 10x-100x, thanks to cutting edge compiler technology. The goal of this summer research project will be to extend Flare in one of several possible dimensions: implement code generation for distributed execution (using MPI or similar), implement streaming abstractions for incremental data processing, implement code generation for GPUs, implement a cost-based query optimizer, implement new internal compiler optimizations.||Strong programming skills. Experience through classwork or independent study on compilers, databases, architecture is a plus. Experience with Scala is a plus.|
|Asst. Prof.||Jeremiah Blockifirstname.lastname@example.org||Memory Hard Functions||In the last few years over a billion user passwords have been exposed to the dangerous threat of offline attacks through breaches at organizations like Yahoo!, Dropbox, LinkedIn, LastPass, AdultFriend Finder and Ashley Madison. Password hashing is a crucial `last line of defense’ against an offline attacker. An attacker who obtains the cryptographic hash of a user’s password can validate password guesses offline by comparing the hashes of likely password guesses with the stolen hash value. There is no way to lock the adversary out so the attacker is limited only by the cost of computing the password hash function millions/billions of times per use. A strong password hashing algorithm should have the property that (1) it is prohibitively expensive for the attacker to compute the function millions or billions of times (2) it can be computed on a standard personal computer in a reasonable amount of time so that users can still authenticate in a reasonable amount of time. Memory hard functions (MHFs) are a crucial cryptographic primitive in the design of key-derivation functions which transform a low-entropy secret (e.g., user password) into a cryptographic key. Data-Independent memory hard functions (iMHFs) are an important variant due to their natural resistance to side-channel attacks. Argon2, the winner of the password hashing competition, initially recommended the data-independent mode Argon2i for password hashing, but this recommendation was later changed in response to a series of space-time tradeoff attacks against Argon2i showing that the amortized Area-Time complexity of this function was significantly lower than initially believed (CRYPTO 2016). In this project students will be exposed to cutting edge research on the design and analysis of memory hard functions and will have the opportunity to help implement and evaluate state of the art constructions (e.g., EUROCRYPT 2017, CCS 2017).||An ideal student should have a strong background in mathematics and theoretical computer science (e.g., graph theory, data-structures and algorithms) and should be comfortable writing code (e.g., C, C++, C#, Python). The project can be tailored to the student's strengths. One aspect of the research will involve running intensive computational experiments. Another aspect will involve modifying current implementations of memory hard functions and evaluating these implementations. For students with an exceptionally strong background in theoretical computer science there are several challenging open problems to work on.|