I’m the CTO at Alkymi in NYC. We’re automating processes for data transfer that traditionally require humans-in-the-loop using machine learning and AI. Send me an message if you’re interested—we’re hiring!

Previously, I was a Sr. Software Engineer at Two Sigma, worked at Canopy Labs in Toronto as Chief Architect and completed my PhD with the Generative Software Development Group at the University of Waterloo studying Feature Model Synthesis.



Below is an archive of the the projects I’ve worked on during my PhD:

  • Linux Variabiltiy Analysis Tools (LVAT). LVAT is a set of tools written in Scala for analyzing the Linux Kconfig language. It can parse the tree structure, detect feature modeling concepts, and translate to a propositional (.dimacs) file for use with SAT solvers or BDDs.

  • Feature Model Synthesis. A framework that uses a SAT solver for synthesizing the components of a feature model from a propositional formula. Written in Scala.

  • Feature Graph Extraction. A framework that use Binary Decision Diagrams for synthesizing the components of a feature model. Developed with Andrzej Wasowski in Java.

  • Feature Model Composition Calculator. Experiment with how feature model and propositional logic interact! Synthesize feature models from formulas, or break the feature models back into formulas and apply propositional operators. Uses a simple domain specific language for synthesizing feature models and computing slices or merges.

  • A Simple Graph Library for Scala. This Scala library provides simple unmutable Directed and Undirected graphs based on Scala maps. Support for serialization and deserialization as a text file.

  • Interpreter for detecting framework concepts in Java source code. Developed with Kacper Bak using Prolog.

  • An extractor for Java source code that uses Eclipse’s JDT to extract facts for use with Prolog reasoning. Developed in Scala.

  • A video demonstrating the capabilities of StarCharter—An Eclipse that uses forward and backward program slicing on Java source code to build a fact database to describe a feature implementation in a code repository.

  • A LaTeX Beamer template. Use XeLaTeX to compile with your favourite fonts.

Selected Publications

For all other publications, check out my DBLP bibliography, or Google Scholar.

Presentation Slides

Contact Me

Shoot me an email using the address at the top or bottom of this page.