My current researches are primarily in formal methods for the design and verification of digital systems, including hardware, software, and their combinations such as embedded systems. My studies include applications of game theory and SMT solvers to the automatic synthesis of systems from their specifications, model checking, automata learning, and symbolic execution. Prior to this, I used to work in the field of high performance distributed and embedded computing; hence, I am also familiar with topics, programming paradigms, and technologies in the field; i.e., data parallelism, distributed computing, GP-GPUs, SMPs, CMPs, FPGAs, concurrency related topics, scheduling, and similar.