My Master’s thesis, advised by Professor Robert J. Walls, involves implementing a CUDA-accelerated version of the RevDecode algorithm (previously referred to as Libdecode), based on the Viterbi algorithm, for detecting malware in binary function libraries. By leveraging sequence decoding and GPU parallelization, it achieves significant speed improvements, processing tasks in around 10 seconds compared to 10 minutes on a CPU. The work explores three kernel approaches—Naive, Fine-Grained, and Segment-Based-Estimation—balancing performance, scalability, and accuracy in high-performance computing environments.
A toolchain that compiles a subset of MiniJava into MIPS assembly code. It features a modular architecture, including a lexer, parser, semantic analyzer, and code generator. The lexer tokenizes MiniJava code, the parser builds an abstract syntax tree (AST), the semantic analyzer enforces language rules, and the code generator translates the AST into optimized MIPS assembly.
A Fork-Join thread pool with work-stealing for parallel task execution. Tasks are recursively divided and joined, while idle threads dynamically "steal" tasks to improve load balancing and performance. The thread pool supports features like task submission, result retrieval, and graceful shutdown, and includes tests for parallel algorithms like Fibonacci, merge sort, and quicksort.
A custom dynamic memory allocator, designed as an alternative to standard dynamic memory management functions in C. It employs a segregated free list to reduce memory fragmentations, with thread safety enabling concurrent operations.
Virginia Tech
Supported CS 3304 - Comparative Languages, a course on programming language constructs, focusing on runtime behavior, fundamental elements in commercial systems, and variations in language implementations.
China Eastern Airlines
Assisted in processing and managing flight and passenger information by scraping data from the company’s public API and converting raw data into JSON reports using Pentaho Data Integration (PDI). Worked on the front-end development of a company's mobile application for employees to report personal health conditions, using React.js for the interface and integrating it with RESTful APIs for data communication.