Adrian Trejo Nuñez
(atrejo AT andrew DOT cmu DOT edu)
I am a fourth year undergraduate student at Carnegie Mellon University. I expect to graduate in May 2013 with a B.S. in Computer Science and a B.S. in Mathematical Sciences.
I'm currently a teaching assistant for 15-359 Probability and Computing, taught by professors Mor Harchol-Balter and Victor Adamchik.
I'm generally interested in the topics of algorithm design and analysis, complexity theory, computability theory, and queueing theory. My recent projects deal primarily with automata theory and queueing systems. I plan on writing my senior thesis on my project dealing with ω-automata and their applications.
ω-automata (October 2011 – present)
I'm building the automata theoretic support structure to perform model checking for first-order logic formulas on one-way infinite cellular automata.
I've written a software program in C that implements operations on several types of ω-automata, including Büchi automata. Notably, I provide an implementation of Safra's determinization algorithm to convert a non-deterministic Büchi automaton into a deterministic Rabin automaton. The project relies heavily on the STL and Boost C libraries.
This stems from my final project for 15-354 Computational Discrete Mathematics, taught by Klaus Sutner.
Read more on the project page.
Transient Analysis of Queueing Systems (December 2011 – May 2012)
I'm trying to understand the transient behavior of queueing systems before they enter the steady state. I've researched previous attempts at deriving closed form solutions for the transient probabilities in the MM1 queue and tried to extend those techniques to understand the MM2, and more generally, the MMk.
I presented my work at this year's Meeting of the Minds research symposium and won the Boeing Blue Skies award for my work. I'll be presenting at SRC's TECHCON 2012 in Austin, TX in September.
LLVM Compiler Infrastructure (August 2011)
I wrote a compiler pass within the LLVM framework that analyzes every store through a pointer or array in order to identify potential vulnerable points for buffer overflow exploits. My pass analyzes loops within the program and makes a note of those stores that occur within nested loops. The pass runs as part of the optimization passes that transforms assembly code as part of the compilation process. It also serves as a starting point for a pass that recognizes buffer overflow vulnerabilities.
Current Coursework (Spring 2013)
Previous Relevant Coursework
Carnegie Mellon University SMC 3725 5032 Forbes Avenue Pittsburgh, PA 15213