ShadowGuard
A lightweight shadowstack which leverages binary static analysis to reduce overheads.
Trying to connect the dots..
My specialties lie in performance engineering and observability tooling, which has been the focus of my graduate research. I also have prior experience in implementing data analytics solutions using distributed data processing systems. I am also interested in and familiar with programming language design and implementation.
In an earlier life I used to be a software engineer for WSO2 Inc. working in Business Activity Monitor (now renamed Data Analytics Server ) team. There, I worked with some of the Apache big data stack including Hadoop, Hive, Cassandra, Thrift and Zookeeper.
Over the years I have been writing blogs discontinuously in several places on the web. My latest (but unmaintained for a while) blog incarnation could be found here .
Some projects that I have been involved in over the years roughly in reverse chronological order.
A lightweight shadowstack which leverages binary static analysis to reduce overheads.
Low overhead always online C/C++ application profiler based on Dynamic Binary Instrumentation (DBI).
Integrated HPX distributed task execution enviornment as a CNC backend target. Poster I did on it can be found here.
A research prototype based on Intel Cilk supporting concurrency in the face of blocking workers operations. It tries to maximizes parallel effiency in such cases, by promoting light weight workers to full OS threads. I wrote Cilk I/O library based on the Concurrent Cilk implementation for benchmarking purposes.
A data analytics and monitoring solutions for businesses. My contributions were inside the data analytics layer in integrating various big data solutions to the product.
A spare time project on a Java library for distributed synchronization pritimives mimicking Java Lock API. It uses Zookeeper underneath.
I did a Google Summer of Code with Apache Tomcat project improving it's JMX infrastructure. Some details can be found here.
I did a Google Summer of Code with BpelUnit project on adding Apache ODE business process engine as a runtime backend for tests. it's JMX infrastructure. Some tutorials I did on my work can be found here and here.