JVM internals/ Runtime tooling/ Program analysis

Building software you can trust & ship.

I’m a software engineer focused on JVM internals, bytecode engineering, and runtime systems. I build tools that make program behavior easier to analyze and reason about. I’m also the founder of GraphForge, an early-stage startup investigating unintended behavior changes introduced by security patches.

Soroush Aghajani
Based
Bay Area, CA
Status
Open to roles
Focus
Systems · Program analysis
Fig. 01 — NFA Generator

A program in a small proprietary language, translated live into its equivalent NFA.

Source program
input = read()
while (input == 1):
input = read()
if (input == 0):
return

Over the alphabet {0, 1}, this compiles to the regular language 1*0 — any run of ones ending in exactly one zero, the only path that reaches return.

What I’m
focused on

Making complex program behavior observable and analyzable: from capturing dynamic execution in a custom JVM to investigating how security patches change behavior. My focus is runtime systems, program analysis, and developer tools.

Track record

Runtime systems, developer tooling, and programming languages research.

Present
Early-stage startup
Program analysis
Founder
  • Building a prototype to identify unintended behavior changes introduced by security patches, including AI-generated fixes.
  • Analyzes code before and after a patch, generates scenarios, and produces concrete evidence of changed behavior.
  • Apache Shiro case study: behavioral differences across three fixes, subsequently reproduced by running the generated scenarios on Java.
Mar – Dec 2025
Palo Alto, CA
JVM
Software Engineer
FastJVM (formerly Manycore)
  • One of two engineers building a custom JVM and runtime tooling.
  • Bytecode-level instrumentation for invokedynamic, MethodHandles, lambdas, and hidden classes.
  • Runtime class capture for lambdas, proxies, and hidden classes; debugging classfile verification and stack map frames.
2023
Boston, MA
PL
Research Intern
UMass Boston
  • OCaml parser and translator to NFAs with graph visualization for research demos.
  • Focused on recursion, algebraic data types, and formal models of computation.
2021 – 2022
Massachusetts
Backend tooling
Software Engineer
Pliant.io
  • Built backend automation tools in Python and Node.js for internal operations and workflow orchestration.
  • Improved backend logging, data validation, and system observability.
  • Partnered with product/ops to improve reliability and operational efficiency.
2020
Massachusetts
IoT
Software Engineer Intern
Cool Green Power
  • Java Spring Boot REST APIs for COOLNOMIX compressor controllers.
  • Device control, scheduling, logging, and sensor data integrations.
  • Android prototype enabling two-way device communication with hardware teams.

Selected work

Program analysis, runtime tooling, and language implementations — with interactive simulations and networked applications alongside them.

Personal 01

Turing Machine Simulator

Interactive React-based simulator for designing and executing Turing machine languages with live tape visualization.

  • Dynamic state-transition editor and reusable configs.
  • Custom tape input plus step-by-step execution view.
BINARY +1 / LIVESTATE Q_SCAN
INPUT 0111 READ 0 · MOVE R OUTPUT —
□0111□□
School 02

NFA Generator

OCaml parser and translator that turns a simple language into a non-deterministic finite automaton.

  • Graph visualization of generated automata.
  • Recursive, variant-type heavy implementation for efficiency.
  • Extended into a TFPIE 2024 workshop publication on imperative calculi for regular languages.
School 03

Maxima Translator

Code generator that converts parsed input into Maxima code, executes it, and surfaces the output.

  • AST powered by OCaml variant types.
  • Automated execution loop with captured results.
School 04

Multiplayer Chess

JavaFX chess platform with networked multiplayer and MySQL-backed player and match data.

  • Game-state handling for checks, mates, and pinned pieces.
  • Unit-tested core logic and UI interactions.
School 05

Banking IoT Simulation

Flutter/Dart IoT project simulating banking transactions with stakeholder-driven requirements.

  • Coordinated team delivery, debugging, and QA.
  • Realistic transaction flows and validation.

Sharing the research

Follow-on work from the NFA Generator project into programming language theory.

TFPIE 2024 | Workshop | PL Research

RegularIMP: An Imperative Calculus to Describe Regular Languages

Research on programming language design for modeling regular languages using an imperative calculus, bridging automata theory and practical language semantics.

Co-authored with
Emma Kelminson
Tiago Cogumbreiro
Origin
Continuation of NFA Generator

Ask about Soroush

An AI assistant answering questions about my background, work, and projects.

Soroush Assistant
Online now
Assistant
Ask about experience, projects, research, or what kind of work Soroush is looking for.

Where I recharge

Strategic thinking and pattern-spotting outside of work.

Chess

Find me on chess.com as soshiagh. Always up for a rapid game.