Matching Items (19)
Filtering by

Clear all filters

131529-Thumbnail Image.png
Description
RecyclePlus is an iOS mobile application that allows users to be knowledgeable in the realms of sustainability. It gives encourages users to be environmental responsible by providing them access to recycling information. In particular, it allows users to search up certain materials and learn about its recyclability and how to

RecyclePlus is an iOS mobile application that allows users to be knowledgeable in the realms of sustainability. It gives encourages users to be environmental responsible by providing them access to recycling information. In particular, it allows users to search up certain materials and learn about its recyclability and how to properly dispose of the material. Some searches will show locations of facilities near users that collect certain materials and dispose of the materials properly. This is a full stack software project that explores open source software and APIs, UI/UX design, and iOS development.
ContributorsTran, Nikki (Author) / Ganesh, Tirupalavanam (Thesis director) / Meuth, Ryan (Committee member) / Watts College of Public Service & Community Solut (Contributor) / Department of Information Systems (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
134328-Thumbnail Image.png
Description
As mobile devices have risen to prominence over the last decade, their importance has been increasingly recognized. Workloads for mobile devices are often very different from those on desktop and server computers, and solutions that worked in the past are not always the best fit for the resource- and energy-constrained

As mobile devices have risen to prominence over the last decade, their importance has been increasingly recognized. Workloads for mobile devices are often very different from those on desktop and server computers, and solutions that worked in the past are not always the best fit for the resource- and energy-constrained computing that characterizes mobile devices. While this is most commonly seen in CPU and graphics workloads, this device class difference extends to I/O as well. However, while a few tools exist to help analyze mobile storage solutions, there exists a gap in the available software that prevents quality analysis of certain research initiatives, such as I/O deduplication on mobile devices. This honors thesis will demonstrate a new tool that is capable of capturing I/O on the filesystem layer of mobile devices running the Android operating system, in support of new mobile storage research. Uniquely, it is able to capture both metadata of writes as well as the actual written data, transparently to the apps running on the devices. Based on a modification of the strace program, fstrace and its companion tool fstrace-replay can record and replay filesystem I/O of actual Android apps. Using this new tracing tool, several traces from popular Android apps such as Facebook and Twitter were collected and analyzed.
ContributorsMor, Omri (Author) / Zhao, Ming (Thesis director) / Zhao, Ziming (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Barrett, The Honors College (Contributor)
Created2017-05
136604-Thumbnail Image.png
Description
As technology's influence pushes every industry to change, healthcare professionals must move to a more connected model. The nearly ubiquitous presence of smartphones presents a unique opportunity for physicians to collect and process data from their patients more frequently. The Mayo Clinic, in partnership with the Barrett Honors College, has

As technology's influence pushes every industry to change, healthcare professionals must move to a more connected model. The nearly ubiquitous presence of smartphones presents a unique opportunity for physicians to collect and process data from their patients more frequently. The Mayo Clinic, in partnership with the Barrett Honors College, has designed and developed a prototype smartphone application targeting palliative care patients. The application collects symptom data from the patients and presents it to the doctors. This development project serves as a proof-of-concept for the application, and shows how such an application might look and function. Additionally, the project has revealed significant possibilities for the future of the application.
ContributorsGaney, David Howard (Author) / Balasooriya, Janaka (Thesis director) / Lipinski, Christopher (Committee member) / Barrett, The Honors College (Contributor) / Department of Psychology (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
136617-Thumbnail Image.png
Description
We created an Android application, Impromp2, which allows users to search for and save events of interest to them in the Phoenix area. The backend, built on the Parse platform, gathers events daily using Web services and stores them in a database. Impromp2 was designed to improve upon similarly-purposed apps

We created an Android application, Impromp2, which allows users to search for and save events of interest to them in the Phoenix area. The backend, built on the Parse platform, gathers events daily using Web services and stores them in a database. Impromp2 was designed to improve upon similarly-purposed apps available for Android devices in several key ways, especially in user interface design and data interaction capability. This is a full-stack software project that explores databases and their performance considerations, Web services, user interface design, and the challenges of app development for a mobile platform.
ContributorsNorth, Joseph Robert (Author) / Balasooriya, Janaka (Thesis director) / Nakamura, Mutsumi (Committee member) / Faucon, Philippe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor) / School of Mathematical and Statistical Sciences (Contributor)
Created2015-05
136477-Thumbnail Image.png
Description
MeetPoint is a project derived from Computer Science with a focus upon applications to mobile. The application is created to provide users with the ability to meet up with certain individuals to accomplish a specific task, in this case studying. The project idea came from the creator wanting to meet

MeetPoint is a project derived from Computer Science with a focus upon applications to mobile. The application is created to provide users with the ability to meet up with certain individuals to accomplish a specific task, in this case studying. The project idea came from the creator wanting to meet up with a friend in order to converse about an upcoming exam. The creator knew where the person lived, but could not easily come up with a location for the two to meet that would be a reasonable distance from both of them. Hence came the idea for a mobile application to complete those actions for the user. The project focuses upon implementation in a school setting in which the meetings would actually take place. For means of this project, the locations were fixed to on campus at Arizona State University. The committee felt that this would scope the project correctly for its two-semester creation while still demonstrating how to fulfill the task at hand. Android is the operating system of choice for the mobile application due to it being Java, which was the most familiar language to the student. MeetPoint provides users with an easy to navigate and familiar front-end while harnessing the power of a database in the back-end. The application hides the intricacies of the back-end from the user in order to better provide a comfortable user experience. A lot of the project was designed around providing a comfortable user experience by keeping the application familiar to the user in that it maintains similarities with other popular mobile applications.
ContributorsWallace, Tyler L (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Christophe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
136678-Thumbnail Image.png
Description
When planning a road trip today, there are solutions that let the user know what comes along their route, but the user is often presented with too much information, which can overwhelm the user. They are provided suggestions all along the route, not just at those times when they would

When planning a road trip today, there are solutions that let the user know what comes along their route, but the user is often presented with too much information, which can overwhelm the user. They are provided suggestions all along the route, not just at those times when they would be needed. RoutePlanner simply takes all that information and only presents that data to the user, that they would need at a particular time. Gas station suggestions would show when the gas tank range is going to be hit soon, and restaurant suggestions would only be shown around lunch time. The iOS app takes in the users origin and destination and provides the user the route as given by GoogleMaps, and then various stop suggestions at their given time. Each route that is obtained, is broken down into a number of steps, which are basically a connection of coordinate points. These coordinate point collections are used to point to a location at a certain distance or duration away from the origin. Given a coordinate, we query the APIs for places of interest and move to the next stop, until the end of the route.
ContributorsDamania, Harsh Abhay (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Christophe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2014-12
136440-Thumbnail Image.png
Description
The face of computing is constantly changing. Wearable computers in the form of glasses or watches are becoming more and more common. These devices have very small screens (measured in millimeters), and users often interact with them through voice input and audio feedback. Weather is one of the most regularly

The face of computing is constantly changing. Wearable computers in the form of glasses or watches are becoming more and more common. These devices have very small screens (measured in millimeters), and users often interact with them through voice input and audio feedback. Weather is one of the most regularly checked app category on smart devices, but weather results on these devices are often limited to raw data, canned responses, or sentence templates with numbers plugged in. The goal for this project was to build a system that could generate weather forecast text, which could then be read to a user through text-to-speech. By using methods in language generation, the system can generate weather forecast text in millions of different ways. This is all computed locally, and it covers every possible weather case. In order to generate natural weather forecast texts, the system retrieved raw weather data from a weather API and created the text through six methods: content determination, document structuring, sentence aggregation, lexical choice, referring expression generation, and text realization. Content determination is the process of deciding on what information to include in a computer generated text. The document structuring phase deals with the order and structure of the information. Sentence aggregation is the merging of similar sentences to improve readability and to reduce redundancy. Lexical choice is the process of putting words to concepts. Referring expression generation is the process of identifying objects, regions, time periods, and locations within a text. Finally text realization involves creating sentences with proper syntax, morphology, and orthography. Through these six stages, a system was developed that could generate unique weather forecast text from raw data accurately and efficiently. It was built for iOS devices with Apple's new programming language, Swift, and it will be ported to the Apple Watch when the API is fully opened to developers.
ContributorsJorgensen, Jacob Paul (Author) / Baral, Chitta (Thesis director) / Faucon, Christophe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
133804-Thumbnail Image.png
Description
Modern curriculum requires students to purchase expensive handheld calculators, which has created a market with little competition or incentive for improvement. The purpose of this project was to create a competitive free alternative to be used outside the classroom for those who do not have the economic stability to purchase,

Modern curriculum requires students to purchase expensive handheld calculators, which has created a market with little competition or incentive for improvement. The purpose of this project was to create a competitive free alternative to be used outside the classroom for those who do not have the economic stability to purchase, for example, a TI-82, which costs approximately $100. Calculat3d is an Android application that matches the general-purpose functionality of the TI-82, including calculations, basic statistical functions, graphing, and creating programs. Additionally, a programming language and interpreter were created so programs can be written inside Calculat3d and be used alongside calculations, thus expanding the functionality of the calculator. Graphing functionality is also included in Calculat3d but expanded to three dimensions as opposed to the two-dimension limited TI calculator.
ContributorsEverhart, Ryan Matthew (Author) / Hansford, Dianne (Thesis director) / Bazzi, Rida (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
132922-Thumbnail Image.png
Description
Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et al., 2018). Several permanent solutions are in progress by the

Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et al., 2018). Several permanent solutions are in progress by the City of Charleston. However, these solutions are years away at minimum and faced with development issues. This thesis attempts to treat some of the symptoms of flooding, such as navigation, by creating an iPhone application which predicts flooding and helps people navigate around it safely. Specifically, this thesis will take into account rainfall and tide levels to display to users actively flooded areas of downtown Charleston and provide routing to a destination from a user’s location around these flooded areas whenever possible.
ContributorsSalisbury, Mason (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Christophe (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
133050-Thumbnail Image.png
Description
Despite the more tightly controlled permissions and Java framework used by most programs in the Android operating system, an attacker can use the same classic vulnerabilities that exist for traditional Linux binaries on the programs in the Android operating system. Some classic vulnerabilities include stack overows, string formats, and hea

Despite the more tightly controlled permissions and Java framework used by most programs in the Android operating system, an attacker can use the same classic vulnerabilities that exist for traditional Linux binaries on the programs in the Android operating system. Some classic vulnerabilities include stack overows, string formats, and heap meta-information corruption. Through the exploitation of these vulnerabilities an attacker can hijack the execution ow of an application. After hijacking the execution ow, an attacker can then violate the con_dentiality, integrity, or availability of the operating system. Over the years, the operating systems and compliers have implemented a number of protections to prevent the exploitation of vulnerable programs. The most widely implemented protections include Non-eXecutable stack (NX Stack), Address Space Layout Randomization (ASLR), and Stack Canaries (Canaries). NX Stack protections prevent the injection and execution of arbitrary code through the use of a permissions framework within a program. Whereas, ASLR and Canaries rely on obfuscation techniques to protect control ow, which requires su_cient entropy between each execution. Early in the implementation of these protections in Linux, researchers discovered that without su_cient entropy between executions, ASLR and Canaries were easily bypassed. For example, the obfuscation techniques were useless in programs that ran continuously because the programs did not change the canaries or re-randomize the address space. Similarly, aws in the implementation of ASLR and Canaries in Android only re-randomizes the values after rebooting, which means the address space locations and canary values remain constant across the executions of an Android program. As a result, an attacker can hijack the control ow Android binaries that contain control ow vulnerabilities. The purpose of this paper is to expose these aws and the methodology used to verify their existence in Android versions 4.1 (Jelly Bean) through 8.0 (Oreo).
ContributorsGibbs, Wil (Author) / Doupe, Adam (Thesis director) / Shoshitaishvili, Yan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2018-12