Safety and Security in Autonomous Vehicles

Faculty: Ning Zhang

Cyber-physical systems, such as autonomous vehicles, are revolutionizing different sectors in our society from manufacturing to transportation. While the industry is excited about the potentials of such systems with pervasive connectivity, security in these safety-critical cyber-physical systems remains a major concern for users, developers and lawmakers. Participants in this project will build up the self-driving model car and launch attacks on state-of-art self-driving platforms.

Skills Required: Vulnerability Research, Operating System, Program Analysis, Computer Engineering

Machine Learning for Image Restoration

Faculty: Ulugbek Kamilov

In image restoration, the goal is to build algorithms for clearing images from undesired artifacts such as camera blur or sensor noise. REU students will work on advanced algorithms for image restoration that are based on large-scale optimization and machine learning. We have developed a family of such techniques that use learned information, such as natural image features, to generate clean images from the corrupt ones. REU students will have an opportunity to contribute to this exciting research area and learn the cutting edge imaging algorithms.

Skills Required: Familiarity with image processing and machine learning. Proficiency with MATLAB or Python.

Large-Scale Optimization for Machine Learning

Faculty: Ulugbek Kamilov

Optimization algorithms play an essential role in modern machine learning (ML). The choice of an optimization algorithm establishes whether a sufficiently good performance can be obtained in hours or in days. Increasingly, optimization is becoming large-scale due to modern ML models having millions of parameters trained over extremely large datasets. REU students will work on the development of novel advanced optimization algorithms for large-scale ML. Computational Imaging Group (CIG) at WashU has recently developed several new algorithms and the students will contribute to this exciting area by extending our current results. Several applications will be considered, including efficient training of deep neural nets.

Skills Required: Proficiency with Python or Matlab. Familiarity with machine learning. Mathematical maturity to understand optimization algorithms and their analysis.

Postquantum public-key cryptosystem from subspace codes.

Faculty: Netanel Raviv

Public-key cryptosystems (PKCs) are the bread-and-butter of secure information transmission. However, once quantum supremacy is attained, virtually all contemporary PKCs will be easily breakable. This threat has given rise to post-quantum cryptography, a new research field that studies cryptosystems that cannot be broken by a quantum computer.
In this project, we will understand, implement, and test a radical new idea for constructing a postquantum cryptosystem from subspace codes. A subspace code is a family of subspaces in a vector space over a finite field, that have low-dimensional pair-wise intersections. The interest in subspace codes has increased in the past decade due to applications in data transmission in networks, but they have promising potential applications in cryptography.

Skills Required: Mathematical maturity is  crucial, especially in linear and abstract algebra. Familiarity with mathematical programming tools such as Matlab, Mathematica, SageMath, or SciPy is appreciated.

Computationally efficient methods for probabilistic inference

Faculty: Brendan Juba

Roughly, probabilistic inference problems have the following form: given bounds on the probabilities of some events, compute new bounds on the probabilities of other events. Such problems arise in domains such as scientific reasoning, where knowledge obtained from experiments is inherently uncertain in this way. Such problems are also generally intractable to solve perfectly. Techniques from optimization have been proposed that can provide some more limited forms of probabilistic inference in a computationally tractable way. In this project we will investigate the use of these methods for some families of probabilistic inference problems, and seek to characterize the extent of their effectiveness. In other words, for these families of problems, we will examine how tight of an estimate we can obtain through the use of such methods.

Skills Required: mathematical maturity; in particular, knowledge of probability and optimization.

Adversarial Machine Learning

Faculty: Yevgeniy Vorobeychik

The project will investigate the problem of using machine learning in adversarial environments. Specifically, we will study this problem in the context of perception in autonomous driving settings, investigating AI vulnerabilities when integrated with autonomous vehicle planning, and their impact on vehicle safety.

Skills Required: Strong mathematical and programming skills

Computational Platform for Informed Society

Faculty: Yevgeniy Vorobeychik

A critical issue in democratic systems is ensuring a reliable source of information about candidates, their views on issues, voting record, and any other information of direct relevance to their candidacy. While this information is often public, it exists in a complex ecosystem of articles, speeches, votes, accessible through a broad array of information sources, not all reliable. The goal of this project is to develop an open online platform that harvests reliable information about candidates, and presents it to potential voters in an understandable way that is most relevant to their decisions.

Skills Required: Strong programming skills (particularly in web and mobile application development)

Mobile Voice-based Therapy for Mental Health

Faculty: Chenyang Lu

Cyber-Physical Systems Laboratory (CPSL) is looking for one or more motivated undergraduate students with expertise in developing voice-based mobile applications. Specifically, we are developing a customized voice-based agent for delivering mental health therapy on a mobile device (e.g., through Alexa on a tablet). The application development will be primarily in the AWS environment and will include mobile development for integrating surveys and ecological momentary assessments, customized reminders for patients, and data management (storage and management). Development efforts will also involve the integration of data from other sensors (e.g., a smartwatch).

Skills Required: The ideal candidate will have prior experience in working in the Android and AWS environments, and have strong programming skills.

Home Spirometry App for Subjects with Lung Transplants

Faculty: Chenyang Lu

The Home Spirometry project is looking for one or two motivated undergraduate students with expertise in developing a tablet based mobile application that integrates with a hand held spirometer and pulse oximeter. Specifically, we are developing a customized mobile android tablet application for subjects who have had lung transplants in order to capture their spirometry data to determine when the subject may start developing “Bronchiolitis Obliterans Syndrome” or “BOS” symptoms. BOS is caused by the body’s immune system rejecting the new lung(s). For details see The android tablet application development will be primarily written in Java. The app will include the ability to connect the tablet to the handheld spirometer and pulse oximeter to acquire the data from the devices, and determining if the data is out of the normal range for the subject. If the data is out of the subject’s normal range, a survey will be provided to allow the subject to answer questions. The data obtained from the app will be stored in a file and sent to a central server via https using a REST API interface. The app will provide the subjects initially with daily reminders to use the devices and after establishing a normal range, the app will provide weekly reminders.

Skills Required: The ideal candidate will have prior experience working with Java Android applications, relational databases with knowledge how to write SQL commands, and have strong programming skills.

Uncovering the “Hidden Half” of plants

Faculty: Tao Ju

Roots, the “hidden half” of a plant, play many important roles including physical support of the plant, uptake of water and nutrients, and stabilization of the soil. Their functions, as well as their amazingly complex structures, have intrigued biologists for centuries. With advanced imaging technique like CT and MRI, biologists are finally able to “see” these underground forms in 3D. However, computational methods are needed to extract relevant information from the images, such as identifying root branches, measuring their length and shape, understanding their organization and architecture, and analyzing them over time.

As part of a NSF-funded collaboration between three institutions, the REU will join an interdisciplinary team of computer scientists, mathematicians, and biologists to build automated algorithms and interactive graphical tools for image-based analysis of plant roots. The central theme of the algorithms will be using geometric skeletons, a popular shape descriptor in computer graphics and vision, to model plant roots and to infer biological information.

Skills Required: Experience with C++ and Python, familiarity with OpenGL, good foundation in algorithms and data structures (particularly those related to graphs).

Machine Learning for Interactive Data Visualization

Faculty: Alvitta Ottley

The development of data visualization research in the past decades enables visualization systems to achieve great general usability in various domains. Such advancements have improved not only the understanding of the data but also the understanding of people and how they use data visualization systems. In this project, we will explore possibilities for next-generation data visualization. We will apply machine learning techniques to make predictions about users’ goals and examine methods of supporting data exploration.

Skills Required: Proficiency in web programming and JavaScript; Prior experience with D3 is a plus but not required. Familiarity with machine learning and statistics would be beneficial.

Benchmarking and Performance Evaluation of Interactive Parallel Applications

Faculty: I-Ting Angelina Lee

Cilk is a C/C++-based multithreaded language that provides a high-level language abstraction for parallel execution. When writing a parallel program in Cilk, the programmer expresses the logical parallelism of the computation, and an underlying runtime scheduler schedules computation in a way that respects the logical parallelism specified by the programmer while taking full advantage of the processors available at runtime. Cilk is originally designed to handle throughput-oriented computations, where the most important performance criterion is to minimize the overall execution time of the computation. We are currently developing interactive Cilk — a parallel platform designed to handle modern desktop applications and web services that are interactive. For such applications, subcomponent of the program may be latency-sensitive, where the computation time of the subcomponent impacts the experience of the user. We are looking for application developers to build benchmark applications and conduct performance evaluation of such interactive parallel applications running on Cilk.

Skills Required: Familiarity with C/C++; experience working with moderately sized code base; experience with multithreaded programming is a plus but not required.

Analyzing Peer Review for Bias

Faculty: Neal Patwari

Conference paper review is critical for academics in Computer Engineering (CE) and Computer Science (CS). Conference proceedings are primary means of dissemination of research work, and are also markers of success for faculty and students because the acceptance rates are typically low (10%-50%). When conferences have very low acceptance rates such as 10%, small biases are magnified because a submission must experience almost no negative biases from reviewers to be in the top 10% of the reviewed submission list. Over the past 20 years, CE and CS conferences have moved towards double-blind review after showing reduction in some reviewer biases compared to single-blind review. In particular, double blind review is more fair to female authors [Budden 08], and reduces bias towards more established authors [Seeber 17, Tomkins 17], and authors from prestigious universities [Tomkins 17]. Authors are required to remove their names, references to past work that identify it as their own, and anything identifying their institutions. Most reviewers do not know the true names of the authors [Yankauer 91]. However, English language variations due to country of origin are hard to remove. Although English is widely used as the required language for CE and CS conference papers, variations in spelling, word choice, and grammar are prevalent across the world. Thus the national origin of paper authors is largely known to the reviewers during the double blind review. There are anti-discriminatory policies at most conferences, and there is a clear desire to have a merit-based review system that is unbiased vs. nation / national origin. Variations in spelling, word choice, and grammar generally do not impact the quality of a paper’s contribution to computer science or engineering.

However, as far as we are aware, national origin bias has not been studied in the context of double-blind review in CS or CE conferences. Gender bias has been shown to reduce with double-blind review, but it is not known if some gender bias remains. We hope to use data from a highly selective conference, which we are already collecting, in order to quantify these effects. This project will use data to analyze biases due to national origin and institution in the review ratings of double-blind conference papers. We hope to evaluate and publish on, for the first time, biases remaining in double-blind review.

Skills Required: Scraping data from various formats (csv, html) using a programing language of your choice, statistics, writing, an interest in fairness and equity

Finding breathing people under rubble

Faculty: Neal Patwari

In this project, we will experimentally test the ability to detect a breathing person trapped underneath a collapsed building, for use in search and rescue operations after an earthquake. We have developed a RF-based breathing monitoring system which uses a 900 MHz CW signal to detect breathing without contact. The system monitors for the changes in the radio channel caused by changes in a person’s chest caused by breathing. Our device can be operated at lower frequencies, for example, down to 169 MHz. The lower frequencies experience less attenuation due to concrete and other building materials. This project will be to develop the system to be best able to detect and monitor breathing rate when a person is located in rubble. Success will likely require modifying the system for low frequency operation (169 MHz), including finding appropriate through-wall directive antennas at this frequency. Experimental evaluation could be done using concrete walls, or traveling to a search and rescue training site.

For a reference, see:
Peter Hillyard, Anh Luong, Alemayehu Solomon Abrar, Neal Patwari, Krishna Sundar, Robert Farney, and Jason Burch, Christina A. Porucznik, Sarah Pollard, Experience: Cross-technology radio respiratory monitoring performance study, in Proc. of the 24th Annual Intl. Conference on Mobile Computing and Networking (MobiCom 2018), 1 Nov. 2018.

Skills Required: Python, C, experimental design

High Performance Computing to Benefit Science

Faculty: Roger Chamberlain, Jeremy Buhler, Ron Cytron

Many scientific disciplines benefit from advances in computational techniques. Scientific instruments can see measured signals more effectively, analysis can benefit from substantially larger volumes of data, and ultimately we can ask and answer deeper questions about the world around us.

In this project we work with experts in multiple domains of science (e.g., astrophysics, biology, nuclear chemistry) and seek to improve the performance and power efficiency of computations that benefit scientific inquiry. This often includes the exploitation of non-traditional computer architectures used to accelerate an application.

Skills Required: Programming ability; C/C++ experience a plus but not strictly required