Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 10 of 10

Full-Text Articles in Programming Languages and Compilers

Demonstration Of Cyberattacks And Mitigation Of Vulnerabilities In A Webserver Interface For A Cybersecure Power Router, Benjamin Allen May 2022

Demonstration Of Cyberattacks And Mitigation Of Vulnerabilities In A Webserver Interface For A Cybersecure Power Router, Benjamin Allen

Computer Science and Computer Engineering Undergraduate Honors Theses

Cyberattacks are a threat to critical infrastructure, which must be secured against them to ensure continued operation. A defense-in-depth approach is necessary to secure all layers of a smart-grid system and contain the impact of any exploited vulnerabilities. In this undergraduate thesis a webserver interface for smart-grid devices communicating over Modbus TCP was developed and exposed to SQL Injection attacks and Cross-Site Scripting attacks. Analysis was performed on Supply-Chain attacks and a mitigation developed for attacks stemming from compromised Content Delivery Networks. All attempted attacks were unable to exploit vulnerabilities in the webserver due to its use of input sanitization …


A Study Of Software Development Methodologies, Kendra Risener May 2022

A Study Of Software Development Methodologies, Kendra Risener

Computer Science and Computer Engineering Undergraduate Honors Theses

Software development methodologies are often overlooked by software engineers as aspects of development that are handled by project managers alone. However, if every member of the team better understood the development methodology being used, it increases the likelihood that the method is properly implemented and ultimately used to complete the project more efficiently. Thus, this paper seeks to explore six common methodologies: the Waterfall Model, the Spiral Model, Agile, Scrum, Kanban, and Extreme Programming. These are discussed in two main sections in the paper. In the first section, the frameworks are isolated and viewed by themselves. The histories, unique features, …


Using A Bert-Based Ensemble Network For Abusive Language Detection, Noah Ballinger May 2022

Using A Bert-Based Ensemble Network For Abusive Language Detection, Noah Ballinger

Computer Science and Computer Engineering Undergraduate Honors Theses

Over the past two decades, online discussion has skyrocketed in scope and scale. However, so has the amount of toxicity and offensive posts on social media and other discussion sites. Despite this rise in prevalence, the ability to automatically moderate online discussion platforms has seen minimal development. Recently, though, as the capabilities of artificial intelligence (AI) continue to improve, the potential of AI-based detection of harmful internet content has become a real possibility. In the past couple years, there has been a surge in performance on tasks in the field of natural language processing, mainly due to the development of …


Gauging The State-Of-The-Art For Foresight Weight Pruning On Neural Networks, Noah James May 2022

Gauging The State-Of-The-Art For Foresight Weight Pruning On Neural Networks, Noah James

Computer Science and Computer Engineering Undergraduate Honors Theses

The state-of-the-art for pruning neural networks is ambiguous due to poor experimental practices in the field. Newly developed approaches rarely compare to each other, and when they do, their comparisons are lackluster or contain errors. In the interest of stabilizing the field of pruning, this paper initiates a dive into reproducing prominent pruning algorithms across several architectures and datasets. As a first step towards this goal, this paper shows results for foresight weight pruning across 6 baseline pruning strategies, 5 modern pruning strategies, random pruning, and one legacy method (Optimal Brain Damage). All strategies are evaluated on 3 different architectures …


Side-Channel Analysis On Post-Quantum Cryptography Algorithms, Tristen Teague May 2022

Side-Channel Analysis On Post-Quantum Cryptography Algorithms, Tristen Teague

Computer Science and Computer Engineering Undergraduate Honors Theses

The advancements of quantum computers brings us closer to the threat of our current asymmetric cryptography algorithms being broken by Shor's Algorithm. NIST proposed a standardization effort in creating a new class of asymmetric cryptography named Post-Quantum Cryptography (PQC). These new algorithms will be resistant against both classical computers and sufficiently powerful quantum computers. Although the new algorithms seem mathematically secure, they can possibly be broken by a class of attacks known as side-channels attacks (SCA). Side-channel attacks involve exploiting the hardware that the algorithm runs on to figure out secret values that could break the security of the system. …


City Goers: An Exploration Into Creating Seemingly Intelligent A.I. Systems, Matthew Brooke May 2021

City Goers: An Exploration Into Creating Seemingly Intelligent A.I. Systems, Matthew Brooke

Computer Science and Computer Engineering Undergraduate Honors Theses

Artificial Intelligence systems have come a long way over the years. One particular application of A.I. is its incorporation in video games. A key goal of creating an A.I. system in a video game is to convey a level of intellect to the player. During playtests for Halo: Combat Evolved, the developers at Bungie noticed that players deemed tougher enemies as more intelligent than weaker ones, despite the fact that there were no differences in behavior in the enemies. The tougher enemies provided a greater illusion of intelligence to the players. Inspired by this, I set out to create a …


Tamscript - High Level Programming Interface For The Abstract Tile Assembly Model, Perry Mills May 2018

Tamscript - High Level Programming Interface For The Abstract Tile Assembly Model, Perry Mills

Computer Science and Computer Engineering Undergraduate Honors Theses

This paper describes a programming interface, TAMScript, for use with the PyTAS simulator. The interface allows for the dynamic generation of tile types as the simulation progresses, with the goal of reducing complexity for researchers. This paper begins with an introduction to the PyTAS software and a description of the 3D model which it simulates. Next, the changes made to support a dynamic generation scheme are detailed, and some of the potential benefits of this scheme are outlined. Then several of the example scripts which have been written using the TAMScript interface are reviewed. Finally, the potential for future research …


Wip, Armon Nayeraini May 2015

Wip, Armon Nayeraini

Computer Science and Computer Engineering Undergraduate Honors Theses

Games have been shown to be capable tools in teaching. Additionally, programming can be a hard skill to learn. The objective of this research was to create a game that helps student learn coding concepts by playing a video game. The result of our work is a fully functional game that introduces the beginning concepts of programming: sequential, conditional, iterative operations.


Parallelizing Scale Invariant Feature Transform On A Distributed Memory Cluster, Stanislav Bobovych May 2011

Parallelizing Scale Invariant Feature Transform On A Distributed Memory Cluster, Stanislav Bobovych

Computer Science and Computer Engineering Undergraduate Honors Theses

Scale Invariant Feature Transform (SIFT) is a computer vision algorithm that is widely-used to extract features from images. We explored accelerating an existing implementation of this algorithm with message passing in order to analyze large data sets. We successfully tested two approaches to data decomposition in order to parallelize SIFT on a distributed memory cluster.


Holistic Characterization Of Parallel Programming Models In A Distributed Memory Environment, Christopher Bryan May 2008

Holistic Characterization Of Parallel Programming Models In A Distributed Memory Environment, Christopher Bryan

Computer Science and Computer Engineering Undergraduate Honors Theses

The popularity of cluster computing has increased focus on usability, especially in the area of programmability. Languages and libraries that require explicit message passing have been the standard. New languages, designed for cluster computing, are coming to the forefront as a way to simplify parallel programming. Titanium and Fortress are examples of this new class of programming paradigms. This work holistically characterizes these languages and contrasts them with the standard model of parallel programming, and presents benchmark results of small computational kernels written in these languages and models.