Recent Submissions

  • Measuring the impact of cooperative rewards on AI

    Harmon, Dain; Lawlor, Orion S.; Chappell, Glenn G.; Metzgar, Jonathan B. (2020-12)
    We consider the effects of varying individualistic and team rewards on learning for a Deep Q-Network AI in a multi-agent system, using a synthetic team game ‘Futlol’ designed for this purpose. Experimental results with this game using the OpenSpiel framework indicate that mixed reward structures result in lower win rates. It is unclear if this is due to faster learning on simpler reward structures or a flaw in the nature of the reward system.
  • Automated remote security scoring engine (ARSSE): gamification of cyber security education

    Chauhan, Arsh; Lawlor, Orion S.; Hartman, Christopher M.; Metzgar, Jonathan B. (2020-12)
    The goal of this project is to create an easy to use, extensible, and engaging method to compute scores interactively during a practical cyber security education. Gamification has been shown to be an effective teaching tool and has been used in the offensive cybersecurity education space (via Capture The Flag competitions and challenges such as hackthebox.eu) but there has not been an open-source effort to bring this idea to the defensive side (blue team) aspect of cybersecurity. The Automated Remote Security Scoring Engine (ARSSE, pronounced "Arsh") uses a combination of well maintained open-source tools and custom connectors to facilitate an easy to use, scalable, and secure system to check the state of a computer system against a desired state and award points based on passed checks. ARSSE has been released to the public with the hope that it will fill a gap in training the next generation of information security professionals.
  • A modular LoRaWAN inspired Internet of Things approach to collecting sensor data via Software Defined Radio

    Van Cise, Tristan; Genetti, Jon; Lawlor, Orion; Metzgar, Jonathan (2020-05)
    The emergence of simple Internet of Things (IoT) devices has habituated the ability to efficiently collect data and communicate information between devices with ease. Similarly, Software Defined Radio (SDR) has compacted radio communication into a USB dongle capable of receiving radio signals from most radio transmitters. In this approach, the ease of IoT device communication and versatility of SDR data collection and transmission techniques is combined to monitor building thermal decay. The system developed to collect thermal decay data is adapted from the Long Range Wide Area Network (LoRaWAN) IoT architecture and is designed to facilitate variable size collection environments and real-time data visualization. This paper will outline the implementation and capabilities of the collection system and highlight alternate applications and hardware implementations of the underlying framework.
  • LucidDream: Dynamic Story Generation through Directed Chatbot Interactions

    Stonebraker, Ryan; Metzgar, Jonathan; Lawlor, Orion; Hartman, Chris (2020-05)
    Natural Language Understanding and Generation are both areas of active research with widespread potential for story telling. This paper proposes an architecture for dynamically generating stories that allows a scene to be constructed and then dynamically written through the interaction of individual chatbots. Each chatbot in this environment is meant to mimic either the specific emotional profile of a character or holistically represent all of the character’s attributes. Chatbots are created using the conversation history so that they can understand context, a relevant sentence suggestion provided by a question-answering model to keep generated output on topic, and a finetuned version of the GPT-2 transformer-based language model to combine all of this information and generate text. This architecture serves as an ensemble method of approaching character modeling and also introduces the little-explored concept of emotional style transferring as a method for merging a story character’s emotional attributes with an independent training corpus. The question-answering model used in this study achieved 65.24% accuracy when tested on the Stanford Question-Answering Dataset and the emotion classification model achieved 57.3% accuracy on the International Survey on Emotion Antecedents and Reactions dataset. While neither of these performances are SOTA for their respective individual tasks, they are used in combination to produce state of the art directed story generation and pave the way for future research.
  • Examining thermokarst initiation with random forest models

    Spicer, Rawser W.; Bolton, W. Robert; Lawlor, Orion; Chappell, Glenn (2020-05)
    This project examines thermokarst initiation through the application of random forest models. Thermokarst initiation marks the start of the formation of thermokarst features. Changes in landscape, due to the thermokarst process, can result in changes in wildlife habitat, as well as energy, carbon and water fluxes. Random forests are an ensemble learning technique that combines the results of many independent decision trees to create results that avoid the overfitting in regular decision trees. Random forests were trained against an existing thermokarst initiation model. Results showed that random forests were useful in this context. Random forest hyperparameters were also examined through a multiparameter sensitivity analysis.
  • Applied machine learning using twitter sentiment and time series data for stock market forecasting

    McKenna, Jacob; Hartman, Chris; Genetti, Jon; Metzgar, Jonathan (2020-05)
    This paper presents an approach to determine stock prices using Twitter sentiment. Due to the highly stochastic nature of the stock market, it is difficult to determine a model that accurately predicts prices. In Twitter Mood Predicts the Stock Market by Bollen, capturing tweets and classifying each tweet’s mood was useful in predicting the Dow Industrial Jones Average (DJIA). Accurately predicting a movement quantitatively is profitable. We present a method that captures sentiment from Twitter with mentions of specific companies to predict their price for the following day.
  • Improved ray tracing performance through tri-adaptive sampling

    Craddick, Tristan; Lawlor, Orion; Genetti, Jon; Metzgar, Jonathan (2020-05)
    Ray tracing is a technique capable of rendering high quality images by tracing rays from the camera position into the scene and examining the points they intersect with. With the advent of NVIDIA RTX hardware, improving renderer design through greater algorithmic efficiency will allow for even greater real-time rendering capabilities. Naive implementations are simple to implement and cheap enough to run well on modern systems, but often have issues with aliased edges due to lower quantities of rays for scene sampling. Techniques such as super-sampling are capable of reducing or entirely eliminating aliasing, but carry a high performance cost due to additional ray requirements. Under-sampling is a technique that allows a single ray to determine the color of multiple pixels, allowing for high performance in regions of little variation. The combination of these techniques is collectively referred to as Adaptive Sampling. Our implementation of this algorithm operates by rendering the scene at a low resolution and then sampling the resulting image to determine if rays are necessary at higher resolutions. In this project, we implement a form of this multiple-resolution approach based upon a triangular grid overlaying the pixel grid. Results on RTX cards indicate a performance increase of 29-40% over the naive renderer, and a 1-4% increase over the traditional adaptive sampling algorithm, all while achieving little degradation in quality compared to the ground truth image.
  • Trait extraction from article text

    Braxling, Trace; Hartman, Chris; Metzgar, Jonathan; Chappell, Glenn G. (2020-05)
    For a particular object, vast amounts of information exists within the Wikipedia article relating to that object. From this article, it is often desirable to produce simple, sentence length facts about this object. The purpose of this project is to explore a number of methods for producing single sentences that provide informational facts (or traits) from a given text. These methods are then evaluated in comparison to each other, as well as a hand picked ground truth . By analyzing these results, it can be determined which aspects of the methods is worth further examination for the task of trait extraction.
  • Best practices and metrics for virtual reality user interfaces

    Byam, Jay; Chappell, Glenn; Lawlor, Orion; Metzgar, Jonathan (2019-12)
    Virtual Reality (VR) technology has become increasingly effective and accessible within the past decade [15]. With this increase in the technology’s prevalence and cultural significance, certain interaction techniques and design choices have emerged as the most widely used and recommended. This research effort employs a VR experiment in which multiple selection methods, interface placements, and navigation techniques are compared side-by-side, and performance metrics and preference data are collected. Both best practice and to-be-avoided methods are examined, and the performance and preference data is analyzed. Determinations made based on the data gathered are partly in-line with expectations according to best practices, partly inconclusive, and partly contrary to the expected performance and preference results. Results suggest that virtual laser pointers and tapping are equally recommendable selection methods for most VR experiences, hand-mounted menus produce the best results overall, and despite performance advantages, joystick navigation should be avoided in VR due to user comfort concerns.
  • Toward computer generated folk music using recurrent neural networks

    Weeden, Rohan E.; Lawlor, Orion; Chappell, Glenn; Genetti, Jon (2019-05)
    In this paper, we compare the effectiveness of two different types of Recurrent Neural Networks, fully connected and Long Short Term Memory, for modeling music compositions. We compare both the categorical accuracies of these models as well as the quality of generated compositions, and find that the model based on Long Short Term Memory is more effective in both cases. We find that the fully connected model is not capable of generating non repeating note sequences longer than a few measures, and that the Long Short Term Memory model can do significantly better in some cases.
  • Passively encouraging offline networking in small, concentrated communities through UI/UX design

    Mitchell, Addeline; Metzgar, Jonathan; Lawlor, Orion; Chappell, Glenn (2019-05)
    The goal of this project is to identify whether it is possible to encourage users to communicate with one an other face-to-face through User Interface (UI) and User Experience (UX) design. It is well known that users can be maliciously manipulated by design elements and that concerns have been raised about the effects o f social media on interpersonal communication. The key is to find non-harmful means of guiding users to the desired action of speaking face-to-face with others. User testing for a custom web app was conducted for the purposes of this project. It is hoped that the results will provide developers with new consideration for UI and UX design.
  • Closest pair optimization on modern hardware

    Bright, Jason; Chappell, Glenn G.; Lawlor, Orion; Hartman, Chris (2019-05)
    In this project we examine the performance of several algorithms for finding the closest pair of points out of a given set of points in a plane. We look at four algorithms, including brute force, recursive, non-recursive, and a random expected linear time for numbers of points ranging from one hundred to one billion. In our examination, we find that on average the non-recursive is the fastest, except for limited cases of 100 points for the brute force, and 32 bit spaces for the random expected linear.
  • Obstacle detection with Kinect V2 on a ground robot

    Fisher, Laurin; Lawlor, Orion; Hartman, Chris; Genetti, Jon (2018-12)
    This paper is about determining whether using a Kinect V2 (Xbox One Kinect) mounted on a LAYLA ground robot can be used to detect obstacles, by generating a heightmap with the depth data. We take several factors into consideration including: framerate, power consumption, field of view, and data noise.
  • Davix: a toolset for data analysis and visualization

    Gellhouse, Amanda L.; Nance, Kara; Hay, Brian; Genetti, Jon (2014-04)
  • Intelligent platform management interface protocol security

    Clayton, Syler W.; Hay, Brian; Nance, Kara; Genetti, Jon (2014-04)
    The Intelligent Platform Management Interface (IPMI) is a protocol that allows administrators to manage servers remotely. Hardware vendors including Dell, HP, Supermicro, IBM, Lenovo, Fujitsu and Oracle support IPMI though a Baseboard Management Controller (BMC) which can either be integrated into the motherboard or purchased as a pluggable module. The BMC runs silently alongside other components of the server and provides a lower level of hardware access than the Operating System (OS). This allows support for features like power cycling the server, mounting virtual media and accessing a remote console. The failure of BMC vendors to produce a more secure product, along with the inherent flaws of the IPMI protocol, increases the need for these systems' security capabilities to be evaluated. The IPMI protocol and various vendor implementations of the BMC has been the subject of recent scrutiny, and initial investigation has raised concerns about the security properties of these components. This project focuses on evaluating specific IPMI supported hardware and software setup in an environment modeled to simulate real use, for the explicit purpose of evaluating the security of the system. This project presents: several methods by which unprivileged users can gain remote access to the system, a list of best practices for proper configuration, a guide to clearing configuration settings before decommission, and a basic Metasploit module to scan for BMC related services.
  • Obfuscation fingerprinting in Android binaries

    Van Veldhuizen, Matthew Philip (2015-04)
    There are many way to protect code from reverse engineering. One such way is to obfuscate either the source code, machine code or bytecode. Obfuscating Android applications not only makes it harder to reverse engineer, it can also speed up execution by reducing the size of the application and removing unnecessary code. One method of obfuscation is to do it manually and the other method is to use an obfuscation program. However, it may become necessary to reverse obfuscation, because of the loss of source code or when investigating malware, trojans, or other harmful applications. This process is called deobfuscation. Once an application has been obfuscated performing deobfuscation is a tedious task, and knowing how the application was obfuscated would increase the probability of correctly reversing the obfuscation. By examining four Android application obfuscators I successfully identified distinct fingerprints within each of the obfuscated binaries by building a simple Android application, obfuscating it, and then comparing obfuscated and unobfuscated bytecode. Using these fingerprints I was able to associate each obfuscator with an approximate probability that it was used to perform the obfuscation.
  • A high performance neural network javascript library

    Payton, Travis Michael; Lawlor, Orion; Genetti, Jon; Chappell, Glenn (2015)
    This report covers Intellect.js, a new high-performance Artificial Neural Network (ANN) library written in JavaScript and intended for use within a web browser. The library is designed to be easy to use, whilst remaining highly customizable and flexible. A brief history of JavaScript and ANNs is presented, along with decisions made while developing Intellectjs. Lastly, performance benchmarks are provided, including comparisons with existing ANN libraries written in JavaScript. Appendices include a code listing, usage examples, and complete performance data. Intellect.js is available on GitHub under the MIT License. https://github.com/sutekidayo/intellect.js
  • SIMD within a register on linear feedback shift registers

    Ott, Karl (2015-04)
    Linear feedback shift registers (LFSRs) are used throughout a subset of cryptography. They have long been deployed as a means to generate a pseudo-random number stream. The random number generation provided by the LFSRs has been utilized in stream ciphers ranging from consumer to military grade. For example GSM privacy relies on the A5/1 stream cipher which in turn relies on LFSRs to generate the keystream. They are deployed because they are easy to construct, yet still provide strong cryptographic properties. The scope of this project is to speed up the simulation of LFSRs. The method of speeding up LFSRs is to use parallel operations to operate on multiple LFSRs at once. This is accomplished by using a method of SIMD. The method is SIMD within a register (SWAR). SWAR uses general purpose machine registers (eg. rax on an x86_64 machine). This means that 64 LFSRs can be simulated at once with one machine register using SWAR. This has the trade-off of latency vs throughput.
  • Projecting physical objects into a virtual space using the Kinect and Oculus Rift

    Bond, Shaun P.; Lawlor, Orion; Chappell, Glenn; Genetti, Jon (2015-04)
    Virtualized Reality as a field of research has been increasing over the last couple of decades. Initially, it required large camera arrays, expensive equipment, and custom software to implement a virtualized reality system. With the release of the Kinect and the Oculus Rift development kits, however, the average person now has the potential to acquire the hardware and software needed to implement a virtualized reality system. This project explores the possibility of using the Kinect and Oculus Rift together to display geometry based on real-world objects in a virtual environment.
  • Comparison of support structure generation techniques for 3d printing

    Tupek, Ann; Lawlor, Orion; Chappell, Glenn; Hartman, Chris (2016)
    As the old patents from the late 1980's and early 1990's expire, additive fabrication and rapid prototyping has seen a boom in recent years. Often called 3D printing, in the additive fabrication process material is deposited on previous layers. The problem of supporting overhangs in 3D printing is not one encountered in the traditional method of subtractive fabrication. This paper examines and compares three methods of generating support structures for these overhangs: a scaffolding structure, simple pillars, and the supports automatically generated by the open source slicing tool Slic3r. Our results show that both the scaffolding structure and simple pillars use less material than Slic3r's supports. Additionally, the scaffolding structure and simple pillars print in a comparable amount of time as Slic3r's supports and all the models have a similar visual print quality. This conservation of material without a reduction in print quality make our method of scaffolding support structures preferable to the supports automatically generated by Slic3r.

View more