About |
Publications |
Talks |
Teaching |
Software |
Personal
|
|
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 |
| |
|
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]
DBLP, Google Scholar,
ACM
-
Higher-Order Cardinality Analysis
Ilya Sergey,
Dimitrios Vytiniotis and
Simon Peyton Jones
[PDF]
-
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]
-
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]
-
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]
-
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]
-
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]
-
Gradual Ownership Types
Ilya Sergey and Dave Clarke
21th European Symposium on
Programming (ESOP 2012). Tallinn, Estonia, April 2012. Springer.
[PDF | Slides | Prototype]
-
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]
-
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
-
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
-
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
-
Operational Aspects of Type Systems
Ph.D. Dissertation. KU Leuven, Leuven, Belgium, November
2012.
[PDF | Slides]
-
Extraction of musical notation from a musical signal (in
Russian)
M.Sc. Thesis. Saint Petersburg State University, Saint Petersburg, Russia, June 2008.
[PDF | Slides]
Other manuscripts
-
Calculating Graph Algorithms by Abstract Interpretation
Ilya Sergey, Jan Midtgaard and Dave Clarke
An extended version of our MPC 2012 paper.
[PDF]
-
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]
- 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]
-
Towards Gradual Ownership Types
Ilya Sergey and Dave Clarke
International Workshop on
Aliasing, Confinement and Ownership (IWACO 2011). Lancaster, UK,
July 2011.
- 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]
-
Automatic refactorings for Scala programs
Ilya Sergey, Dave Clarke and Alexander Podkhalyuzin
Scala Days 2010 Workshop. Lausanne, Switzerland, April
2010.
[PDF | Video]
-
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]
Invited talks, lectures and seminars. Paper-based conference talks are
in the proceedings section.
-
Static Analysis and Code Optimizations in Glasgow Haskell
Compiler
[Slides | SlideShare | Video]
SPb Functional Programming meetup. Saint Petersburg, Russia. December 2012.
- Dominance in Program Semantics, Dominance as Program Semantics
IMDEA Software Institute, Madrid, Spain. August 2012.
- Gradual Ownership Types
Entropy Meeting, Programming Languages Group,
Aarhus University. Aarhus, Denmark. December 2011.
- Scripting an IDE for DSL awareness
Devoxx 2009. Antwerp, Belgium. November 2009.
- Clojure support in IntelliJ IDEA
The Bay Area Clojure User Group meetup. San Francisco, CA, USA. June 2009.
- Cross-Language Development in IntelliJ IDEA
JAX 2009. Mainz, Germany. April 2009.
- Cross-Language Development Experience on the JVM
[Video]
Devoxx 2008. Antwerp, Belgium. December 2008.
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.
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