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.