1. Machine Learning (ML) for Logic (Solvers)
    Z3str* solvers
    Parallel SAT for cryptanalysis
2. Logic for ML
    AI for scientific discovery
    AI for math
    NeuroSymbolic AI
3. Software Engineering and Security
BanditFuzz: RL-guided performance fuzzer for SMT solver
    Pierce: Performance testing of neural network verifiers
    Security of blockchain technologies
    STP bitvector and array solver (2005-2012)
4. Automated bug-finding tools (not supported anymore)
    Buzzfuzz: a dynamic information flow based fuzzer
    jFuzz: a concolic whitebox fuzzer for Java

5. Older software projects (not supported anymore)
    Hampi: a solver for string constraints
    SATGraf: a visualization and evolution tool for SAT solvers
    Lynx: a programmatic SAT solver
    CVC Lite: an SMT solver. I worked on the bit-vector and array theory solver in CVC Lite
    Mobile code security: a Java-based filtering and sanitization tool for mobile-code security
    Retargetable compilers: a compiler that can be easily retargeted to any processor via a declarative interface