Serhei Makarov is a bipedal sapient lifeform with a github profile. On official documents and publications, he is known as Serguei. He can be contacted by email via a publically-known address.
I have completed a Master’s degree at the University of Toronto under the supervision of Prof. Ding Yuan and will be starting a job at Red Hat.
I am interested in working to improve essential open source debugging tools (Valgrind, GDB, LLDB, SystemTap, or similar) and to develop more effective ways to diagnose the kinds of complex, hair-pulling bugs that currently take developers days or weeks to resolve.
(2010-2014) I wrote a class schedule generator based on a linear programming model. This was used to produce customized class schedules for a small high school in Toronto, allowing students to request courses from a mixture of grade levels and reducing scheduling conflicts.
(2012-2013, 2017) I spent a year at Red Hat working on the SystemTap project, contributing language features such as a macro preprocessor and a regex matching engine. (One of the nice things about working on open source software is that your commit history is publically available.) I also presented a layman’s introduction to SystemTap at the FSOSS 2012 conference (video available on youtube). Later on, I extended my regex matching engine with support for subgroup extraction based on an algorithm by Ville Laurikari of TRE fame.
(2015-2017) At UofT, I formulated the event-chaining approach for automatically reconstructing the causes of a software failure. Event-chaining improves on existing symbolic execution methods (e.g. KLEE, ESD) by only analyzing program locations that are causally related to known external symptoms of the failure. This approach turns a very large exponential search problem into a much smaller (though still exponential) search problem, potentially making it feasible to bridge the remaining complexity gap using (fairly ad hoc) search heuristics. More details about the project are available in our paper published at SOSP 2017.