Previously, I built predictive microservices at x.ai, big data pipelines at Canopy Labs in Toronto, and completed my PhD studying domain-specific languages and feature model sythesis with the Generative Software Development Group at the University of Waterloo.
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.
Shoot me an email using the address at the top or bottom of this page.