Research profile

Currently I’m a graduate research assistant at Coordinated Science Lab, working with Shobha Vasudevan. My research centers around randomized algorithms and its applications in analog verification. In particular, I am interested in nonlinear optimization and automated input stimuli generation for analog circuits in high-dimensional spaces. My focus is on using machine learning techniques to bias and improve the randomized algorithms, in terms of efficiency and result’s quality.


Together with Shobha, over the course of my PhD, I have designed two algorithms: Duplex and Random tree.

Duplex: an stochastic optimization algorithm, based on random trees, for optimizing nonlinear non-convex functions.

Duplex is a very versatile algorithm. We used duplex for functional optimization, boolean satisfiability ,  performance optimization of analog circuits and training neural networks.

Random tree is a set of algorithms, based on random tree simulation, for automated directed input stimuli generation, worst-case eye diagram analysis and test compression.

The algorithm utilizes various machine learning techniques to bias the growth of random trees toward the simulation objective and increase the efficiency of the algorithm. The random trees can be monitored against logic properties specified in STL or mu-caluclus. In comparison to Monte Carlo simulation, random tree provides over 2 order of magnitude speedup.


I have developed several open-source research tool, mostly as a proof-of-concepts, while I was in grad school. Here are a few examples:


Optimization algorithm for nonlinear functions


Verification suite for analog circuits: input stimuli generation, eye diagram optimization and test compression


Randomized SAT (boolean satisfiability) solver, based on Duplex algorithm


Soft error rate estimation (SET+MET) for logic-level sequential circuits


Reachable analysts for nonlinear analog circuits