Resume of Ben Kushigian

Ben Kushigian
PhD Student

About

I research software engineering and programming languages in UW's PLSE lab. I’m currently using various static analysis techniques to prove mutant equivalence in the Java {source,byte}code. I'm also interested in applying PL concepts to live coding and music programming.

Awards

  • 2018

    UMass Amherst College of Information and Computer Science

    CICS Outstanding Teaching Assistant Award

    Awarded for my work as lead TA for the Theory and Practice of Software engineering, and for developing reusable learning artifacts including Hog, a Git instructional tool that allows students to track a Git repository's internal changes over time.

  • 2017

    UMass Amherst College of Information and Computer Science

    CICS Bay State Fellowship

    A two year fellowship, awarded to eight graduating undergraduate students annually. This comes with a ten hour/week assistanchip.

  • 2017

    UMass Amherst College of Information and Computer Science

    Course Citations

    Citations are offered by professors to top undergraduate stduents in their classes

Projects

  • Cornelius: Mutant Equivalent Detection with Egraphs! Cornelius uses the egg Egraph framework to rewrite a set of mutants with a customizable semantics-preserving rewrite system. By rewriting syntactically distinct mutants to the same form Cornelius is able to prove mutant equivalence and redundance.

Contact

Education

  • 2014 2017

    University of Massachusetts, Amherst

    Bachelor

    Pure Mathematics and Computer Science

  • 2017 2019

    University of Massachusetts, Amherst

    Masters

    Computer Science

  • 2019 Present

    Paul G. Allen School of Computer Science and Engineering

    PhD

    Computer Science

Skills

Software Development
Java Python C C++ Clojure Scala Ocaml

Publications

Medusa: Mutant Equivalent Detection using Satisfiability Analysis
Proceedings of the International Workshop on Mutation Analysis
22 April 2019

Medusa uses an SMT solver to model a restricted subset of Java execution to detect equivalent and redundant mutants. Medusa introduces constraint forking, an optimization taht uses structural properties common in first order mutants to improve queries to the SMT solver.

Interests

Music
Jazz Bluegrass Guitar Synthesizers
Music Programming
Live coding Algorithmic Composition Overtone Orca
Games
Chess Poker