A document/article viewer that enhances the on-screen reading experience. By using an eye-tracker to allow readers to focus on the content currently being viewed, and adjusting the screen theme based on ambient lighting, we achieved a better reading experience.
A Domain-Specific Language for Garbled Circuits
This is a high level programming language in the form of an embedded domain specific language (DSL) in Haskell to both construct and reason about the security of garbled circuits. Our DSL provides an easy way to express circuits and perform secure garbling on them such that they can be used for applications such as secure multiparty computation, or oblivious cloud computation.
This tool takes a normal, sequential C program and generates the equivalent CUDA C program. The tool creates programs that can run on the host (CPU) and device (GPU). The NVIDIA C Compiler (NVCC) can then compile both these programs to a binary executable. Currently the tool supports integer arrays, with support for floating point arrays in the pipeline.
This project tracks fitness band users' activities, heart rate, steps taken and calories burned to help doctors and medical researchers understand trends, determine which factors affect health and to what extent. The data is represented as visually intuitive graphs and can be exported to a spreadsheet to be analyzed using a statistical analysis tool. In addition, the tool also allows users to sign in and track their daily, weekly and monthly fitness information.
This is an extensible dataflow analysis framework for analyzing and optimizing LLVM IR code. The framework runs forward optimistic iterative dataflow analyses such as Constant Propagation, Available Expressions, Range Analysis (variable and array) and Intra-procedural Pointer Analysis. Using these, checking for array access bounds, optimization such as Constant Folding, Branch Folding and Common Subexpression Elimination are easily implemented.
A domain-specific language (DSL) built over Haskell that provides a library of efficient functions and an accurate notation for working with set theory, graph theory, mathematical logic, number theory and combinatorics. In most cases the DSL is more efficient and more expressive than languages such as C, Python, Fortran and Matlab, making it a good candidate for a teaching tool.
This project analyzes demographic and past academic information of incoming freshmen to predict their future performance at college. Using the Naive Bayes Classifier, ID3 and C4.5 classification algorithms an accurate prediction of students' results was generated and helped professors determine at-risk students.
Securing Login: Using QR Codes for Authentication
A secure and novel technique of signing in to online accounts, by using a cell phone instead of a keyboard (physical or virtual), thereby overcoming numerous threats and vulnerabilities found in traditional login systems. This two-factor authentication method has since been used widely by multiple software application and websites.
A library management system with RFID tags on all inventory, RFID readers at the entrance/exit doors and a database integrated with Google Books reduces human errors and the effort required in running a library.