Projects

Research tools and open-source implementations for Program Analysis and Machine Learning.

Ocelot

Comprehensive framework for identifying and verifying nondeterminism in Python algorithms.

Technical Implementation

  • Dynamic Analysis: AST instrumentation and object serialization (Pickle) to trace/compare variable states across runs using VarDeterminismChecker.
  • Static Taint Analysis: Integrated with Meta's Pysa to trace nondeterminism propagation from sources to outputs.
  • SMT Encoding: Encodes algorithm logic into Z3 SMT format to check for satisfiability.

Key Features

  • ND Kernel Extraction: Isolates the minimal code subset responsible for propagating nondeterminism.
  • Taint Dependency Mapping: Generates call and dependency graphs to visualize data flow.
  • Over-approximation Filtering: Prunes variables (e.g., clustering labels) that don't affect final semantics.

Constraint-Guided Weight Transformations

Steering Neural Network behavior after convergence via Mixed-Integer Linear Programming (MILP).

Core Capabilities

  • Developed CMC and TAGD: Engineered dual algorithmic frameworks to actively steer model generalization and obfuscate capabilities post-convergence.
  • Controlled Misclassification (CMC): Nudges converged models out of overfitted, sharp loss regions by introducing minimal final-layer weight perturbations to flip targeted labels, boosting test accuracy by up to 2.8% after resuming training.
  • Model Obfuscation (TAGD): Implements Training Accuracy-preserving Generalization Degradation to deliberately lower prediction confidence and test performance on unseen data while keeping training labels and accuracy completely intact.

Technical Architecture

  • Formulated and solved exact optimization constraints using the Gurobi Optimizer to compute precise weight and bias updates without initial retraining.
  • Surgically modifies only the final layer of the network, ensuring scalable optimization runtime independent of the overall network depth.
  • Evaluated and validated across diverse network architectures including ResNet18, ResNet50, WideResNet, and Network-in-Network (NIN).
  • Tested performance across 10 multiclass vision benchmarks (such as CIFAR10, SVHN, MNIST, and Caltech101) and 5 binary tabular datasets.

DeAnomalyzer

Black-box optimization tool to improve the determinism and consistency of Anomaly Detection implementations.

Core Approach

Feedback-Directed Search: Uses a gradient descent-like approach (univariate and bivariate search) to explore a toolkit's hyperparameter space.

Zero Code Modifications: Operates entirely in a black-box manner, reducing nondeterminism and inconsistency without requiring access to source code.

Core Capabilities

  • Supported Toolkits: Optimizes popular algorithms across Scikit-learn, MATLAB, and R implementations.
  • Targeted Algorithms: Handles anomaly detection algorithms, including Isolation Forest (IF), Robust Covariance (RobCov), Local Outlier Factor (LOF), and One-Class SVM (OCSVM).

ACE

Standardized framework for accelerating and parallelizing clustering implementations.

Core Goal

Algorithm-independent acceleration through parallelization and ensemble evaluation methods.

Architecture

  • Optimized for Scikit-Learn integration.
  • Focuses on reducing execution time without compromising clustering quality.