Serhei Makarov is a bipedal sapient lifeform with a résumé. On official documents and publications, he is known as Serguei. He can be contacted by email via a publically-known address.
I am currently completing a Master’s degree at the University of Toronto under the supervision of Prof. Ding Yuan.
I am looking for opportunities to improve essential open source debugging tools (Valgrind, GDB, SystemTap, or similar) and 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 simple 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 while reducing the likelihood of scheduling conflicts.
(2012-2013) 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.