At Gullfoss

Ioan Stefanovici

Department of Computer Science
University of Toronto

Bahen Centre for Information Technology
Room 5214
40 St. George Street
Toronto, ON M5S 2E4
E-mail: first_name[at]


I am a PhD student in the Computer Systems and Networks Group at the Department of Computer Science, University of Toronto under the supervision of Prof. Bianca Schroeder.

My research centers primarily on large-scale computer systems and improving their performance and reliability. Recently, this interest has led me to investigate ways of making storage systems more predictable and controllable. My interests however also include operating systems, computer architecture, database systems, computer security, and anything interesting/fun.

I received my MSc. from the University of Toronto in 2012 under the supervision of Prof. Bianca Schroeder, and my H.BSc. from the University of Toronto in 2010 doing a Computer Science: Information Security Specialist with a minor in Mathematics at the University of Toronto Mississauga.

I've had industry and industrial research experience in the form of internships at Microsoft and Google, IBM T.J. Watson Research Center, and Microsoft Research. (see CV for more details).

I am currently supported by a Natural Sciences and Engineering Research Council of Canada Alexander Graham Bell CGS D Doctoral Award.




Microsoft Research Cambridge - Research Intern (May 2013 - August 2013, January 2014 - May 2014)

IBM Research T.J. Watson - Research Summer Intern - Cloud Computing, Virtualization and Data Center Management (July 2012 - November 2012)
  • Researched and prototyped a customer-facing performance and management analytic for cloud environments, offering predictive and "what if?"-type exploration of application performance characteristics.

Google - Software Engineer Intern (May 2009 - August 2009)
  • Designed and implemented services that are available to the entire Google user base for the first public release of Google Apps Script, which enables users to leverage various Google services to automate tasks and increase workflow productivity.
  • Services allowed users to programmatically interact with Google Finance, Google Spreadsheets, and Google Contacts via JavaScript.
  • Improved the security analyzer used by the Google Apps Script server to perform static analysis of JavaScript code as a means of generating a list of security requirements that require user validation.

Microsoft - Software Design Engineer in Testing Intern (June 2008 - August 2008)
  • Created a static code analysis taint-tracking tool used by the Common Language Runtime (.NET runtime engine) team on the Silverlight and 4.0 version releases of the engine, focusing primarily on its new security model.
  • The tool was designed to track the flow of potentially-malicious user input from the public surface of an API into critical regions of managed assemblies like mscorlib.dll. It was used by the CLR team to prioritize security-related fuzz-testing targets.
  • Created fuzz-test scenarios, and made recommendations concerning the highest-priority public surface areas of mscorlib.dll that required security-related fuzz-testing.


I've been a reviewer for SOSP 2015, Usenix ATC 2015, ASPLOS 2015, Eurosys 2014, FAST 2014, Usenix ATC 2013, MASCOTS 2013, Systor 2012.

I was a scribe for the FAST 2014 Programming Committee meeting.

I am the President of the Computer Science Graduate Student Union (the CSGSBS).


I was an Assistant Instructor for CSCC69 - Operating Systems - Spring 2013.

I've been a Teaching Assistant for the following courses:

Miscellaneous Course Projects

Topics in the Design and Implementation of Operating Systems - 2012
  • Designed and implemented a virtualized fault-injection framework based on QEMU.
  • Framework simulated the effects of permanent memory errors in user-specified locations, and was designed to be extended to replay memory error traces on a live system.

Special Topics in Software Engineering: Dependable Systems - 2012
  • Designed and implemented ReconDB, a modified version of SQLite that performs online consistency checking on critical DB metadata to protect itself against bugs in its own codebase.
  • ReconDB's online consistency checks were based on metadata invariants derived from SQLite's built-in offline consistency checker.

Advanced Topics in Database Systems - 2011
  • Implemented the PAX (Partition Attribute Across) layout for data pages in PostgreSQL.
  • Goal was to improve query performance by increasing on-chip cache utilization, and investigate the effects of changes in modern CPU architectures (specifically L2 cache size and hardware-level prefetching techniques) on cache locality for read-heavy queries.


I was born in the city of Deva, Romania, where I spent the first 12 years of my life. I moved to Toronto, Canada in 2000, where I've been ever since (ish...; I seem to have developed a thing for travelling at times...)