Curriculum Vitae

 

 

 

 

 

Personal Information

 

Full Name

Vojin Jovanovic

Address

Goldbrunnenstrasse 73, 8055, Zürich, Switzerland

Telephone

+41 (0)21 69 37691

Mobile:

+41 (0)78 871 91 74

Email

vojin.jovanovic@oracle.com

Date of birth

14th January 1985

Goals and aspirations

I believe that programs can be written abstractly and yet execute as fast as their hand tuned counterparts. To this end, I am making a framework that allows effortless addition of domain-specific optimizations to existing libraries. I am also working on a high-level programming model for dynamic compilation where dynamic information is used to perform domain-specific optimizations at runtime; yet managing assumptions, deoptimization, and code caches is done behind the scenes.

 

 

 

 

Selected Work Experience

 

Position and Dates

Principal Researcher                                                                                November 2015 – present

Employer

Oracle Labs, Zürich

Main activities and responsibilities

VM research and development.

 

 

Position and Dates

PhD Student                                                                                         October 2010 December 2015

Employer

Scala Laboratory (LAMP), EPFL, Switzerland

Main activities and responsibilities

Author and maintainer of the Yin-yang framework which is used for seamless embedding of DSLs. Yin-yang is used for generating and reifying queries in the new version of LegoBase.

Co-author and initiator of Scala Records. Scala Records are used for type-safe manipulation of SparkSQL query results.

Co-author of SIP 14 – Futures and Promises

LMS contributor: implemented a loop fusion prototype, added record support, enabled and helped removal of the dependency to Virtualized Scala.

Author of sbt-coursera which is used for automatic grading of Java based projects Coursera.  

Co-author of the Actors Migration Kit.

 

 

Position and Dates

Research Intern                                                                                        June 2013 September 2013

Employer

Oracle Labs, Switzerland

Main activities and responsibilities

Implemented the Graal backend for Lightweight Modular Staging with support for vectorization. Performance on all (at the time) supported vectorization features was within 10% of hand-written C.

 

 

Position and Dates

Research Intern                                                                                        April 2010 September 2010

Employer

Network Systems Laboratory (NSL), EPFL, Switzerland

Main activities and responsibilities

Implemented DiCE, a system that makes a snapshot of a network of BGP routers and uses concolic execution to explore the live system state. Exploration ensures that the faulty system states can not be reached. DiCE detects common errors in BGP networks like the cybernuke vulnerability.

 

 

Position and Dates

Software Developer Team Leader                                                     March 2008 September 2009

Employer

Margintech Corporation, Toronto

Working for Taleo inc. on the TBE product

Main activities and responsibilities

Developed software for a large SaaS system that is used daily by over 50.000 customers. Lead a team of 3 people on several enterprise projects. At the same time developed algorithms for cache re-balancing (10x improvement in memory utilization), fixed critical concurrency bugs and integrated a semantic search engine.

 

 

 

 

Education

 

 

 

School and Dates

École polytechnique fédérale de Lausanne (EPFL), Switzerland          October 2010 December 2015

Title

Ph.D. in Computer Science

 

 

School and Dates

School of Electrical Engineering, University of Belgrade, Serbia                    October 2008 April 2010

Title

Engineer of Electrical Engineering and Computer Science – Master                            GPA 10.00/10.00

Thesis: Human Computer Interaction Device for Visually Impaired People

 

 

 

 

 

 

 

School and Dates

School of Electrical Engineering, University of Belgrade, Serbia              October 2003 October 2008

Title

  Engineer of Electrical Engineering                                                                                   GPA 9.02/10.00

  Thesis: Tactile Web Browser Simulator

 

 

 

 

 

 

Selected Publications

 

 

 

 

V. Jovanovic, D. Shabalin, E. Burmako, and M. Odersky, Annotating the Previous Stage: Succinct Type-Driven Staging at Compile Time, Scala'15 (under submission)

 

V. Jovanovic, A. Shaikhha, S. Stucki, V. Nikolaev, C. Koch, and M. Odersky, Yin-Yang: Concealing the deep embedding of DSLs, GPCE'14

 

A. Sujeeth, T. Rompf, K. Brown, H. Lee, H. Chafi, V. Popic, M.Wu, A. Prokopec, V. Jovanovic, M. Odersky, and K. Olukotun, Composition and reuse with compiled domain-specific languages, ECOOP'13

 

T. Rompf, A. Sujeeth, N. Amin, K. Brown, V. Jovanovic, H. Lee, M. Jonnalagedda, K. Olkotun, and M. Odersky, Optimizing Data Structures in High-Level Programs: New Directions for Extensible Compilers based on Staging, POPL '13

 

S. Ackermann, V. Jovanovic, T. Rompf, and M. Odersky, Jet: An Embedded DSL for High-Performance Big Data Processing, BigData'12

 

M. Canini, V. Jovanovic, D. Venzano, D. Novakovic, and D. Kostic, Online Testing of Federated and Heterogeneous Distributed Systems, Computer Communication Review, vol. 41, p. 434-435, 2011.

 

M. Canini, V. Jovanovic, D. Venzano, B. Spasojevic, and O. Crameri, Toward Online Testing of Federated and Heterogeneous Distributed Systems, USENIX'11

 

 

 

 

Activities

 

 

 

Selected talks

Programming DSLs Made Simple, ScalaDays 2014

Yin-Yang: Transparent Deep Embedding of DSLs, ScalaCamp 2013

High-Performance DSLs Embedded in Scala, GeeCon 2013

Reviewing

Artefact reviewer for OOPSLA'15

Subreviewer for HLPP'14, GPCE'14, and ICFP'14

Demos

Yin-Yang: Concealing the Deep Embedding of DSLs, ECOOP'15

Organizing

Summer School on Domain Specific Programming Languages, Lausanne, July 2015

Scala Workshop, 2013

PL Seminar at EPFL

Teaching

Reactive Programming and Parallelism (2015)

Functional Programming Principles in Scala (2013, 2014, 2015)

Principles of Reactive Programming (2013, 2015)

Foundations of Software (2012)

Operating Systems (2011)

 

 

 

 

References

 

 

 

Christian Wimmer,  Research Manager at Oracle Labs, christian.wimmer@oracle.com

 

Thomas Wuerthinger, Research Director at Oracle Labs, thomas.wuerthinger@oracle.com

Martin Odersky, Professor of Computer Science at EPFL, martin.odersky@epfl.ch

 

Christoph Koch, Professor of Computer Science at EPFL, christoph.koch@epfl.ch

 

Leonid Igolink, VP of Engineering, App. Perf. Management at CA Technologies, lim@igolnik.com