Research Intern • Computer Science Student • Portland State University
Hey! I'm Satvik, a technology enthusiast and a Computer Science Student at Portland State University. My journey in Computer Science has taken me through some incredibly exciting areas, from diving deep into Web Development, to understanding how computers truly work in Operating Systems. I've also spent time building an Android App, a Python interpreter, explored the world of Data Clustering, and much more. Beyond coursework, I've had some hands-on research experience where I got to apply theoretical knowledge to real-world problems. I love the challenge of solving complex issues and am always eager to learn more. When I'm not coding, you can find me rowing a boat on the river, playing badminton, or in the woods hiking.
My research focused on Fine-Grained Access Control in dynamic IoT environments. Access Control for databases is a crucial aspect of security, and improving the efficiency of access control policies is essential for maintaining the integrity and confidentiality of data. I worked on developing a system that generates workloads for an algorithm known as Sieve. The results gave us a solid insight into the performance of the algorithm, and the parameters that increase the enforcement cost of the algorithm.
Learn More about Sieve:
Presented my findings on Scalable Access Control for dynamic IoT environments in a Research Poster Competition at the STEM Research Showcase 2025 at Portland State University. It was an honor to show the Dean, the Department Chair, faculty members, and all participants the work I had done in the past year.
I had the opportunity to present my research on Fine-Grained Access Control in dynamic IoT environments at the New Student Orientation. Many of the participants were new students, and it was a great experience to be able to inspire them to join our work in the lab. I also got to learn about various other research projects and opportunities available in the University through faculty members who I presented my research to at the event.
Built a recursive-descent parser and interpreter for a custom language supporting arithmetic operators, variable scoping, string operations, boolean and comparison operators.
As part of the Principles of Programming Languages Course, I got to learn a lot about how languages are built and what the fundamental
logic behind most programming languages are. It also gave me an intuitive idea about how compilers and interpreters are built using other compilers and pre-built
functionalities.
The program relies on Context-Free Grammar (CFGs) provided by lark expressions to convert standard language expressions
into raw abstract syntax trees and also produces a pretty printed output of the expression showing how precedence operators work
with the custom language. It can also be extended to support many other operators and domain specific languages.
The domain I chose for the project was String operations.
Below is an Abstract Syntax Tree for adding/subtracting two numbers in a custom language