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

Articles 1 - 5 of 5

Full-Text Articles in Programming Languages and Compilers

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson Jun 2018

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson

Master's Theses

Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own …


Conception, Design And Construction Of A Remote Wifi Vehicle Using Arduino, Clayton Broman Mar 2014

Conception, Design And Construction Of A Remote Wifi Vehicle Using Arduino, Clayton Broman

Physics

The scope of this senior project was to make a wireless vehicle controlled via Internet Protocol. This vehicle operates remotely and without direct line of sight. Commands are sent from a program running on a laptop and transmitted using a wireless router. Visual data is retrieved from a network camera, mounted on the vehicle, in real-time, to see where you are going.


Senior Project Report - Doctest, Stephen Weessies Mar 2013

Senior Project Report - Doctest, Stephen Weessies

Computer Engineering

DocTest is a program that, simply put, allows a programmer or user to document STANAG 4586 (a standard for unmanned aerial vehicle interoperability) messages and test the vehicle system at Lockheed Martin [5]. The program is extensible to allow for further development aiding our software team to do what they do best and not get bogged down in tedious but necessary documentation. DocTest is also used to aid in testing, keeping track of the issues and bugs found and creating a document that captures each issue so an issue is not missed or forgotten. This program was made for use …


Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker Jun 2012

Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker

Master's Theses

Massively parallel programming is an increasingly growing field with the recent introduction of general purpose GPU computing. Modern graphics processors from NVIDIA and AMD have massively parallel architectures that can be used for such applications as 3D rendering, financial analysis, physics simulations, and biomedical analysis. These massively parallel systems are exposed to programmers through in- terfaces such as NVIDIAs CUDA, OpenCL, and Microsofts C++ AMP. These frame- works expose functionality using primarily either C or C++. In order to use these massively parallel frameworks, programs being implemented must be run on machines equipped with massively parallel hardware. These requirements limit …


Max Flow Spill Code Placement Algorithm Implemented In Gcc 4.4.3, Stephen Robert Beard Jun 2010

Max Flow Spill Code Placement Algorithm Implemented In Gcc 4.4.3, Stephen Robert Beard

Computer Engineering

The placement of spill code plays an important role in the register allocator of an optimizing compiler. Many computer architectures possess a register linkage convention that dictates which registers are preserved across function calls and which are not. This project addresses the problem of optimizing spill code that is associated with register linkage conventions.

This algorithm was created by Dr. Chris Lupo and is described in the paper Beyond Register Allocation: a Novel Algorithm for Spill-Code Placement. The algorithm was implemented for GCC 2.5.7 for a PA-RISC architecture [4]. The work in this project will involve porting the existing code …