With the development of technologies in genome sequencing and variant detection, a huge number of variants are detected. To further analyze the variants, it requires an efficient tool to annotate the functional effect of variants. This project managed to develop an efficient program to annotate the functional effect of variants...
Debugging, an integral part of software development, is difficult for end-user programmers, especially in the case of complex programs. The process of isolating errors is time consuming without the help of debugging support provided by the tool. For example, the visual programming tool LondonTube supports creation of custom mobile-cloud-web applications,...
Software testing is a very important task during software development and it can be used to improve the quality and reliability of the software system. One potential way to reduce the cost and increase the efficiency of software testing is to generate test data automatically. Search-based approaches successfully generate unit...
The ability to create reproducible cryptographically secure keys from temporal environments (e.g., images) has the potential to be a contributor to effective cryptographic mechanisms. Due to the noisy nature of these environments, achieving this goal in a user friendly fashion is a very challenging task, especially since there exists a...
Machine learning models for natural language processing have traditionally relied on large numbers of discrete features, built up from atomic categories such as word forms and part-of-speech labels, which are considered completely distinct from each other. Recently however, the advent of dense feature representations coupled with deep learning techniques has...
Recognizing human actions in videos is a long-standing problem in computer vision with a wide range of applications including video surveillance, content retrieval, and sports analysis. This thesis focuses on addressing efficiency and robustness of video classification in unconstrained real-world settings. The thesis work can be broadly divided into four...
Software Defined Storage is a term for data storage software to manage policy-based provisioning and management of heterogeneous data storage system abstracting underlying hardware. CoprHD is a software defined storage controller and API platform which enables policy-based management and cloud automation of storage resources for block, object and file storage...
General-purpose Graphics Processing Units (GPGPUs) have become a critical component in high-performance computing (HPC) systems in executing modern computational workloads. The high thread level parallelism (TLP) and programmable shader cores allow thousands of threads to execute in Parallel. The fast-scaling of GPGPUs have increased the demand for performance optimizations on...
Empirical studies have shown that programmers spend up to one-third of their time navigating through code during debugging. Although researchers have conducted empirical studies to understand programmers’ navigation difficulties and developed tools to address those difficulties, the resulting findings tend to be loosely connected to each other. To address this...
In data-centers, running multiple isolated workloads while getting the most performance out of available hardware is key. For many years Virtual Machines (VMs) have been an enabler, but native containers which offer isolation similar to virtual machines while reducing overhead costs associated with emulating hardware resources have become an increasingly...
RNA secondary structure prediction maps a RNA sequence to its secondary structure (set of AU, CG, and GU pairs). It is an important problem in computational biology be-cause such structures reveals crucial information about the RNAs function, which is useful in many applications ranging from noncoding RNA detection to folding...
Electric grid is a critical cyber-physical infrastructure that serves as lifeline for modern society. With the increasing trend of cyber-attacks, electric grid security has become a significant concern. Electric grid operators are working hard to reduce the risk of these attacks towards the system. Having security metrics for monitoring the...
The Intel Xeon Phi is a relative newcomer to the scientific computing scene. In the recent years, GPUs have been used extensively for mathematical simulations. The Xeon Phi is Intel’s response to the use of these cards. Like the GPU, it is highly parallelizable but can be programmed like a...
In the current education environment, many instructors make use of some type of software, such as Visual Studio or a software library like OpenGL, in the classroom. Incorrect setup and configuration on an individual’s own system is a common problem when using these software tools. This thesis explores the difficulty...
Augmentative and Alternative Communication (AAC) devices enable people who cannot speak to communicate with others. Unfortunately, they are tedious to use and are believed to lower the satisfaction of interacting with others. This thesis attempted to document the impact that AAC devices have on social interactions, in the hope of...
CoprHD is an open source software defined storage controller platform. It holds an inventory of all storage devices in the data center and understands their connectivity. It is an operating system for a storage cloud. It is designed with two key goals in mind:
• Make an enterprise or a...
Given k terminal pairs (s₁,t₁),(s₂,t₂),..., (s[subscript k],t[subscript k]) in an edge-weighted graph G, the k Shortest Vertex-Disjoint Paths problem is to find a collection P₁, P₂,..., P[subscript k] of vertex-disjoint paths with minimum total length, where P[subscript i] is an s[subscript i]-to-t[subscript i] path. As a special case of the...
The grid company enforces high penalties for the peak power demands of cloud data centers. These high penalties result in high electricity bills that can be avoided by relying on the servers' Uninterruptible Power Supply (UPS) as a source of energy during peak load periods. This thesis proposes a management...
We model the popular board game of Clue as an MDP and evaluate Monte-Carlo policy rollout in a simulated environment pitting different agents and policies against each other. We describe the choices we made in the representation, along with some of the problems we encountered along the way. We find...
This project studied how a user's handedness affects his or her ability to use a
special-purpose handheld digital device such as a digital camera or rangefinder. More
specifically, it sought to identify how handedness affects speed and accuracy when
navigating within a menu system. 24 participants were given 8 menu...