About | Publications | Talks | Teaching | Software | Personal

This photo courtesy of Eugenia Iozefavichus

Ilya Sergey

Postdoctoral researcher at IMDEA Software Institute, Ph.D.

Address: IMDEA Software Institute
Campus Montegancedo
28223 Pozuelo de Alarcon, Madrid
Spain
Office:+34-91-101-2202 Ext. 4126
Email:
Twitter: @ilyasergey
Skype: ilya.sergey

About

I am currently a postdoc at IMDEA Software Institute, working under supervision of Anindya Banerjee and Aleksandar Nanevski.

My research interests dwell in the area of the design and implementation of programming languages, including but not limited to program semantics, certified programming, abstract interpretation, program transformations and refactoring techniques. I am particularly interested in developing expressive type systems and static program analyses for higher-order programs.

I graduated from Saint Petersburg Lyceum 239 in 2003 and received my Master degree in Mathematics and Computer Science from Saint Petersburg State University in 2008. Before joining academia I worked as a software developer in JetBrains Inc.

I did my PhD in iMinds-DistriNet research group at the Department of Computer Sciences of KU Leuven under supervision of Dave Clarke. During my doctoral studies I visited EPFL for two weeks in 2009, hosted by Martin Odersky, where I worked on a type system for virtual classes in Scala. I was a visiting PhD fellow at the Department of Computer Science of Aarhus University in 2010 and 2011 for three months in total, hosted by Olivier Danvy, conducting research on numerous topics concerning inter-deriving program semantics and constructing static program analyses, in collaboration with Jan Midtgaard, Matthew Might and David Van Horn. I was an intern in Programming Principles and Tools group at Microsoft Research Cambridge for twelve weeks in summer 2012 under supervision of Simon Peyton Jones and Dimitrios Vytiniotis, where I worked on refactoring and formalizing the demand analyser of Glasgow Haskell Compiler.

[CV | LinkedIn profile]


Publications

DBLP, Google Scholar, ACM

Drafts in submission

  1. Higher-Order Cardinality Analysis
    Ilya Sergey, Dimitrios Vytiniotis and Simon Peyton Jones
    [PDF]

  2. Introspective Pushdown Analysis
    Christopher Earl, Ilya Sergey, J. Ian Johnson, Matthew Might and David Van Horn
    An extended version of our ICFP 2012 paper.
    [PDF]

Proceedings articles

  1. Monadic Abstract Interpreters
    Ilya Sergey, Dominique Devriese, Matthew Might, Jan Midtgaard, David Darais, Dave Clarke and Frank Piessens
    To appear at the 34th ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2013). Seattle, WA, USA, June 2013. ACM.
    [PDF]

  2. Fixing Idioms: A recursion primitive for applicative DSLs
    Dominique Devriese, Ilya Sergey, Dave Clarke and Frank Piessens
    ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation (PEPM 2013). Rome, Italy, January 2013. ACM.
    [PDF | Slides]

  3. Introspective Pushdown Analysis of Higher-Order Programs
    Christopher Earl, Ilya Sergey, Matthew Might and David Van Horn
    17th ACM SIGPLAN International Conference on Functional Programming (ICFP 2012). Copenhagen, Denmark, September 2012. ACM.
    [PDF | Slides | Video]

  4. Calculating Graph Algorithms for Dominance and Shortest Path
    Ilya Sergey, Jan Midtgaard and Dave Clarke
    11th International Conference on Mathematics of Program Construction (MPC 2012). Madrid, Spain, June 2012. Springer.
    [PDF | Slides]

  5. Gradual Ownership Types
    Ilya Sergey and Dave Clarke
    21th European Symposium on Programming (ESOP 2012). Tallinn, Estonia, April 2012. Springer.
    [PDF | Slides | Prototype]

  6. From type checking by recursive descent to type checking with an abstract machine
    Ilya Sergey and Dave Clarke
    11th Workshop on Language Descriptions, Tools and Applications (LDTA 2011). Saarbrücken, Germany, March 2011. ACM.
    [PDF | Slides]

  7. A semantics for context-oriented programming with layers
    Dave Clarke and Ilya Sergey
    International Workshop on Context-Oriented Programming (COP 2009). Genova, Italy, June 2009. ACM
    [PDF | Slides]

Journal articles

  1. A correspondence between type checking via reduction and type checking via evaluation
    Ilya Sergey and Dave Clarke
    Information Processing Letters, volume 112, issue 1-2, pages 13-20, January 2012. Elsevier.
    [PDF | Code]

Book chapters

  1. Ownership Types: A Survey
    Dave Clarke, Johan Östlund, Ilya Sergey and Tobias Wrigstad
    In Aliasing in Object-Oriented Programming: Types, Analysis and Verification, edited by Dave Clarke et al., volume 7850 of LNCS, pages 18-64, 2013. Springer-Verlag.
    [PDF]

Theses

Other manuscripts

  1. Calculating Graph Algorithms by Abstract Interpretation
    Ilya Sergey, Jan Midtgaard and Dave Clarke
    An extended version of our MPC 2012 paper.
    [PDF]

  2. Implementation of Gradual Ownership Types for Java using Attribute Grammars (in Russian)
    Ilya Sergey
    Software Engineering, issue 6, pages 49-79, Saint Petersburg State University publishing, 2011.
    [PDF]

  3. Dominance Analysis via Ownership Types and Abstract Interpretation
    Ilya Sergey, Jan Midtgaard and Dave Clarke
    CW Reports, volume CW615. Department of Computer Sciences, KU Leuven. December 2011.
    [PDF | Prototype]

  4. Towards Gradual Ownership Types
    Ilya Sergey and Dave Clarke
    International Workshop on Aliasing, Confinement and Ownership (IWACO 2011). Lancaster, UK, July 2011.

  5. Scripting an IDE for EDSL awareness
    Ilya Sergey, Peter Gromov and Dave Clarke
    CW Reports, volume CW608. Department of Computer Sciences, KU Leuven. July 2011.
    [PDF]

  6. Automatic refactorings for Scala programs
    Ilya Sergey, Dave Clarke and Alexander Podkhalyuzin
    Scala Days 2010 Workshop. Lausanne, Switzerland, April 2010.
    [PDF | Video]

  7. Implementation of JVM-based languages support in IntelliJ IDEA
    Ilya Sergey
    International Workshop Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL 2008). Paphos, Cyprus, July 2008.
    [PDF]

Talks

Invited talks, lectures and seminars. Paper-based conference talks are in the proceedings section.

Teaching

Software

I am a creator and a maintainer of the La Clojure plugin for IntelliJ IDEA. The plugin sources are publicly available on GitHub.

Check my GitHub profile for other my projects.

Personal

Occasionally, I post some short non-technincal articles in my LiveJournal blog (in Russian). I also put online some pictures I've taken during my recent travels and other events.

I am married to CG artist Lilia Anisimova.



Last modified: Thu May 16 18:34:31 CEST 2013