The following is a list of projects that will be associated with this site. For those intending to apply to the program, it is important to specify a subset of these projects in order of preference in the application form you will fill.

Project 1: Crowdsourced Indoor and Outdoor Mapping
Faculty Mentor: Dr. Vinod Namboodiri
Many emerging applications for indoor environments such as navigation, real-time proximity updates, marketing feeds require high-quality indoor maps. Mapping techniques used outdoors such as imagery from cars driven on streets do not work in indoor environments. Indoor mapping thus tends to typically rely on architectural drawings and individuals or robots moving through the indoor spaces. Crowdsourcing using people moving around the spaces that need to be mapped can be an effective way to create high quality maps. With such efforts only being employed recently, there aren't enough published results on parameters such as number of participants typically needed to cover an indoor space with adequate coverage, the best ways to incentivize such users to participate and what characteristics of smartphones make them more useful for this exercise, and how best to stitch together user collected imagery to create maps. In this project, REU participants will work on various aspects of creating indoor maps from images collected from networked smartphones in a crowdsourced fashion. They will design and test incentivization schemes for participants, design algorithms to stitch together images to create indoor maps, and study minimum smartphone characteristics/resources and communication protocols required for participation in this crowdsourced activity. Of particular interest would be the application of this research for indoor navigation for the blind and visually impaired. Given that some outdoor areas also lack adequate mapping, this project can be extended to those areas as well.
Qualifications: Strong programming skills in Java/C++, and prior experience using MATLAB.

Project 2: Comparison of Various Bluetooth Low Energy (BLE) Platforms for Indoor Navigation
Faculty Mentor: Dr. Vinod Namboodiri
Bluetooth Low Energy (BLE) beacons are small battery-powered devices with a Bluetooth wireless radio that can send periodic notifications about their presence. Such beacon devices have been recently used for broadcasting advertisements and other real-time updates to smartphones of people passing by. These also have found use in assisting with applications such as indoor navigation. For many of these applications, there are many BLE platforms from which to choose. Each BLE platform varies in its interaction between the beacon, a backend server, and the ease with they can be configured to interact with the end user. REU students will learn to imagine and build novel applications with BLE beacons. Students will study one or more of the following aspects as part of this project: (i) accuracy and timeliness of beacon notifications for specific applications and best practices in beacon placement, (ii) optimal transmission power and beacon notification intervals, and (iii) ease of building applications with various BLE platforms.
Qualifications: Strong programming skills in Java/C++, and prior experience with application development for Android OS or iOS.

Project 3: Secure Cloud Computing for Deep-learning

Faculty Mentor: Dr. Sergio Salinas

 Cloud computing has been proposed as a practical way for users to analyze large-scale data sets without having to build a computing infrastructure of their own. However, since data stored at the cloud is vulnerable to cyber attacks (from both internal and external adversaries) many users are reluctant to adopt cloud computing. Existing cryptographic tools can protect the user's privacy but prevent the cloud from analyzing the users data. In the past few years,  novel techniques have been develop that allow users to analyze  data sets in the cloud while preserving their privacy. These new approaches combined cryptography,  linear algebra and deep-learning to enable sophisticated data analysis on untrusted servers. Applications of these new tools include DNA analysis at the cloud for precision medicine, and secure deep learning for image classification. In this project, undergraduate researchers will implement and evaluate state of the art secure-outsourcing mechanisms for various large-scale data analysis methods. This research is part of an ongoing effort to develop novel secure machine learning methods at the cloud. 

 Qualifications: Strong programming skills in C++/Java/Python; and Network Security principles are a plus.

Project 4: Secure Advanced Manufacturing

Faculty Mentor: Dr. Sergio Salinas

To improve the competitiveness of manufacturing in the U.S.,  advanced manufacturing (also known as Industry 4.0) encourages an aggressive adoption of sensors, computer networks, and cloud computing in factory floors. Although advanced manufacturing offers many benefits to manufacturers, it also creates cyber vulnerabilities that can be exploited by sophisticated adversaries, e.g., criminal organizations or nation-states, to halt production, inject defects into manufactured goods, or steal intellectual property. In fact,  manufacturing systems are a high-value target for adversaries and are under constant attack. For this reason, it is important that new technologies are developed to ensure the reliable operation of manufacturing systems in the presence of sophisticated cyber adversaries. In this project, undergraduate researchers will implement and evaluate the performance of a recently proposed machine learning security technique to detect cyber attacks in additive manufacturing (also known as 3D-printing). The security techniques will be implemented on a testbed formed by 3-D printers, state-of the art networking devices, and a cloud computing service provider that remotely controls the manufacturing process. 

Qualifications: strong programming skills in C++/Java/Python; familiarity with computer networking and network security principles is a plus.

Project 5: Secret-key generation with information-theoretic security guarantees
Faculty Mentor: Dr. Remi Chou

The omnipresence of communication networks and the increasing number of connected users and devices create challenges related to information security and data privacy. Most designs of current security solutions are attack-specific and rely on the assumption of computationally limited opponents. Consequently, systems constantly need to be updated to keep up with the increasing computational power offered by computers, as well as, always more creative attacks from hackers. Worse, the approach leaves communication vulnerable against unanticipated strategies of attacks. A paradigm called information-theoretic security aims at obtaining security guarantees that hold for any possible strategy of attack performed by an opponent with unlimited computational power. While several theoretical studies support this paradigm, the development of practical implementations of information-theoretic secure methods is still in its infancy. The goal of this project is the implementation and performance evaluation of information-theoretic methods for a fundamental security primitive in wireless communication networks, namely secret-key generation. The REU students will work on one or more of the following tasks (i) build a testbed made of Universal Software Radio Peripherals (USRPs) to collect measurements, (ii) implement a secret-key generation protocol that relies on a recently invented family of error-correcting codes called polar codes, (iii) evaluate the performance of the protocol developed in (ii) with the measurements obtained in (i).

Qualifications: Strong programming skills in C++, prior experience using MATLAB and Linux, and basic knowledge of digital signal processing. Some tasks, including the implementation of error-correcting codes and the use of hash functions will require a strong background in mathematics and the desire to learn topics related to probability theory and Galois fields.

Project 6: Wearable Motion Understanding Using Body Sensor Networks

Faculty Mentor: Dr. Hongsheng He

Detection of motion deficits is important for the prevention and diagnose of mobility-related diseases, such as Parkinson's disease and strokes, as well as the monitoring of rehabilitation progress. The project designs a nonintrusive body-movement tracking system using a network of multiple inertial measurement units (IMU), which are attached to human limbs. A learning based method was proposed to understand motion pattens by discovering motion primitives in body motion trajectories. The hypothesis of the research project is that the motion deficits can be discovered and identified by unique motion primitives. The proposed method does not rely on exact placements of wearable inertial sensors and strict calibration, facilitating long-time motion tracking.

REU students will learn and develop sensor fusion and machine learning algorithms for wearable computing. Students will study one or more of the following aspects as part of this project: (i) dynamics measurement using inertial sensors; (ii) body motion tracing using wearable sensor networks; and (iii) wearable motion understanding.

Qualifications: Mathematical skills in linear algebra and programming skills in Python preferred.


Project 7: Natural Human-Robot Interaction Using Natural Languages

Faculty Mentor: Dr. Hongsheng He

One of the critical problems to address in intelligent robotics is a trustworthy architecture that covers the sensing, decision making, and human-machine interaction. The project aims to investigate a robust analytic methodology for modeling, analysis and verification of using human natural language in human-machine interaction and knowledge representation. The key to this goal is to construct a human-machine “common language” that both the human and the machine can understand and share knowledge in the form of rigid formal logic, which mitigates ambiguities common to natural language communication.

REU students will learn and develop robotics and natural-language-processing algorithms for human-robot interaction. Students will have chances to work with an Nao humanoid robot and a Sawyer robot. Students will study one or more of the following aspects as part of this project: (i) natural language processing of human commands; (ii) parsing of human commands into robot actions; and (iii) command grounding through learning.

Qualifications: Mathematical skills linear algebra and programming skills in Python preferred.

Project 8: Dynamic Software Analysis for Self-Hiding Behaviors in Android Apps

Faculty Mentor: Dr. Zhiyong Shan

Applications (apps) that conceal their activities are fundamentally deceptive; app marketplaces and end-users should treat such apps as suspicious. However, due to its nature and intent, activity concealing is not disclosed up-front, which puts users at risk. In this project, REU participants will focus on detection of such techniques, e.g., hiding the app or removing traces, which we call “self-hiding behavior” (SHB). SHB has not been studied per se – rather it has been reported on only as a byproduct of malware investigations. REU participants will create a dynamic testing tool based on Appium Test Automation Framework. The tool will automatically install apps, drive the app to navigate among different screens, and detect SHB. 

 Qualifications: Programming skills in Java, Android app development experience, Python (NLTK).

 Project 9: Dynamic Software Analysis for Resume & Restart Bugs in Android Apps

Faculty Mentor: Dr. Zhiyong Shan

 Smartphone apps create and handle a large variety of “in-stance” data that has to persist across runs, such as the current navigation route, workout results, antivirus settings, or game state. Due to the nature of the smartphone platform, an app can be paused, sent into background, or killed at any time. If the instance data is not saved and restored between runs, in addition to data loss, partially-saved or corrupted data can crash the app upon resume or restart. While smartphone platforms offer API support for data-saving and data-retrieving operations, the use of this API is ad-hoc: left to the programmer, rather than enforced by the compiler. We have observed that several categories of bugs—including data loss, failure to resume/restart or resuming/restarting in the wrong state—are due to incorrect handling of instance data and are easily triggered by just pressing the ‘Home’ or ‘Back’ buttons. To help address this problem, we will construct a tool to dynamically find such bugs in Android apps.

 In this project, REU participants will create a dynamic testing tool based on Appium Test Automation Framework. The tool will automatically drive the app to navigate among different screens, invoke restarts and detect bugs. 

Qualifications: Programming skills in Java, Android app development experience, Python (NLTK).