PDF - Ilya Sergey

Document technical information

Format pdf
Size 134.8 kB
First found May 22, 2018

Document content analysis

Category Also themed
Language
Type
not defined
Concepts
no text concepts found

Persons

Bill Davis
Bill Davis

wikipedia, lookup

Martin Odersky
Martin Odersky

wikipedia, lookup

Olivier Danvy
Olivier Danvy

wikipedia, lookup

Simon Peyton Jones
Simon Peyton Jones

wikipedia, lookup

Vladimir Potanin
Vladimir Potanin

wikipedia, lookup

Organizations

Places

Transcript

Ilya Sergey
C URRICULUM V ITÆ
April 2017
Contact information
University College London
Department of Computer Science
Gower Street, London WC1E 6BT, UK
Homepage: http://ilyasergey.net
E-mail:
[email protected]
Office phone: +44 (0) 20 7679 0319
Research interests
Design and implementation of programming languages, program verification, concurrency, distributed
systems, certified programming, type theory, static program analysis, functional programming.
1
Education
KU Leuven, Leuven, Belgium. November 2008–November 2012.
Ph.D. in Computer Science, November 2012.
• Thesis title: Operational Aspects of Type Systems
• Advisor: prof. Dave Clarke
Saint Petersburg State University, Saint Petersburg, Russia. 2003–2008.
M.Sc. in mathematics, Dept. of Mathematics and Mechanics, GPA 5.0/5.0, June 2008.
• Thesis title: Extraction of musical notation from a musical signal
• Advisor: prof. Andrey E. Barabanov
Saint Petersburg Lyceum 239, Saint Petersburg, Russia. 2001–2003.
High school degree with specialization in physics and mathematics.
2
Employment
• University College London, Department of Computer Science. London, UK
Lecturer (Assistant Professor). Started November 2015.
• IMDEA Software Institute, Madrid, Spain
Post-doctoral Researcher. December 2012–October 2015.
• Microsoft Research, Cambridge, UK
Research Intern. Programming Principles and Tools group. July–September 2012.
• JetBrains Inc., Saint Petersburg, Russia
- Software Engineer. IntelliJ IDEA. March 2007–December 2012 (off-site since November 2008).
- Intern. IntelliJ IDEA team. September 2006–March 2007.
• OpenWay, Saint Petersburg, Russia
Summer School Intern. June 2006–September 2006
• Informational Systems for Business, Saint Petersburg, Russia
Software Engineer. August 2005–June 2006.
3
3.1
Publications and Manuscripts
Journal articles
1. Modular, Higher-Order Cardinality Analysis in Theory and Practice
Ilya Sergey, Dimitrios Vytiniotis, Joachim Breitner and Simon Peyton Jones
Journal of Functional Programming, volume 27, e11, January 2017.
Page 1 of 5
2. Pushdown Flow Analysis with Abstract Garbage Collection
J. Ian Johnson, Ilya Sergey, Christopher Earl, Matthew Might and David Van Horn
Journal of Functional Programming, volume 24, issue 2-3, pages 218–283, May 2014.
3. 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.
3.2
Articles in conference proceedings
4. Concurrent Data Structures Linked in Time
Germán Andrés Delbianco, Ilya Sergey, Aleksandar Nanevski and Anindya Banerjee
31st European Conference on Object-Oriented Programming (ECOOP 2017).
5. Programming Language Abstractions for Modularly Verified Distributed Systems
James R. Wilcox, Ilya Sergey and Zachary Tatlock
The 2nd Summit oN Advances in Programming Languages (SNAPL 2017).
6. Hoare-style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee and Germán Andrés Delbianco
31st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications
(OOPSLA 2016), 52/203 ≈ 26% accepted.
7. Experience Report: Growing and Shrinking Polygons for Random Testing of Computational
Geometry Algorithms
Ilya Sergey
21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016),
37/118 ≈ 31% accepted.
8. Mechanized Verification of Fine-grained Concurrent Programs
Ilya Sergey, Aleksandar Nanevski and Anindya Banerjee
36th ACM SIGPLAN International Conference on Programming Language Design and Implementation
(PLDI 2015), 58/303 ≈ 19% accepted.
9. Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity
Ilya Sergey, Aleksandar Nanevski and Anindya Banerjee
24th European Symposium on Programming (ESOP 2015), 33/115 ≈ 29% accepted.
10. Communicating State Transition Systems for Fine-Grained Concurrent Resources
Aleksandar Nanevski, Ruy Ley-Wild, Ilya Sergey and Germán Andrés Delbianco
23rd European Symposium on Programming (ESOP 2014), 27/109 ≈ 25% accepted.
11. Modular, Higher-Order Cardinality Analysis in Theory and Practice
Ilya Sergey, Dimitrios Vytiniotis and Simon Peyton Jones
41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2014),
51/220 ≈ 23% accepted.
12. Monadic Abstract Interpreters
Ilya Sergey, Dominique Devriese, Matthew Might, Jan Midtgaard, David Darais, Dave Clarke and
Frank Piessens
34th ACM SIGPLAN International Conference on Programming Language Design and Implementation
(PLDI 2013), 46/267 ≈ 17% accepted.
13. Introspective Pushdown Analysis of Higher-Order Programs
Chrisopher Earl, Ilya Sergey, Matthew Might and David Van Horn
17th ACM SIGPLAN International Conference on Functional Programming
(ICFP 2012), 32/88 ≈ 36% accepted.
14. 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),
13/27 ≈ 48% accepted.
Ilya Sergey
Curriculum Vitæ
Page 2 of 5
15. Gradual Ownership Types
Ilya Sergey and Dave Clarke
21st European Symposium on Programming (ESOP 2012), 28/88 ≈ 32% accepted.
3.3
Peer-reviewed workshop articles
16. A Concurrent Perspective on Smart Contracts
Ilya Sergey and Aquinas Hobor
1st Workshop on Trusted Smart Contracts (WTSC 2017)
17. Deriving Interpretations of the Gradually-Typed Lambda Calculus
Álvaro Garcı́a Pérez, Pablo Nogueira and Ilya Sergey
ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation (PEPM 2014)
18. 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)
19. Towards Gradual Ownership Types
Ilya Sergey and Dave Clarke
International Workshop on Aliasing, Confinement and Ownership (IWACO 2011)
20. From type checking by recursive descent to type checking with an abstract machine
Ilya Sergey and Dave Clarke
Eleventh Workshop on Language Descriptions, Tools and Applications (LDTA 2011)
21. Automatic refactorings for Scala programs
Ilya Sergey, Dave Clarke and Alexander Podkhalyuzin
The First Scala Workshop - Scala Days 2010
22. A semantics for context-oriented programming with layers
Dave Clarke and Ilya Sergey
International Workshop on Context-Oriented Programming (COP 2009)
3.4
Book chapters
23. Ownership Types: A Survey
Dave Clarke, Johan Östlund, Ilya Sergey and Tobias Wrigstad.
Aliasing in Object-Oriented Programming: Types, Analysis and Verification, Springer, 2013.
3.5
Publications in informal proceedings
24. Implementation of Gradual Ownership Types for Java using Attribute Grammars (in Russian). Ilya
Sergey. Soft. Engineering, issue 6, pages 49–79, St Petersburg State University publishing, 2011.
25. Extraction of musical notation from musical signal (in Russian).
Ilya Sergey and Andrey Barabanov. Phonetical Lyceum, issue 4, Faculty of Philology and Arts, St
Petersburg State University publishing, 2009.
26. Implementation of JVM-based languages support in IntelliJ IDEA. Ilya Sergey. International Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL 2008).
3.6
Lecture notes
27. Programs and Proofs: Mechanizing Mathematics with Dependent Types
Ilya Sergey. Lecture notes with exercises, available at http://ilyasergey.net/pnp.
Ilya Sergey
Curriculum Vitæ
Page 3 of 5
4
Funding and Scholarships
• EPSRC First Grant, September 2016 (18-month project, £101,009)
on the topic Program Logics for Compositional Specification and Verification of Distributed Systems
• Vladimir Potanin Federal Scholarship Program winner (2004, 2005, 2007)
5
Selected Projects and Software
• D ISEL: Distributed Separation Logic, primary contributor.
Sources available at https://github.com/DistributedComponents/disel.
• FCSL: Fine-grained Concurrent Separation Logic, primary contributor.
Project site: http://software.imdea.org/fcsl.
• Geometry Testing, a QuickCheck-style framework for randomized testing of geometric algorithms,
sole implementer. Available at https://github.com/UCL-PPLV/geometry-testing.
• La Clojure plugin for IntelliJ IDEA, founder and maintainer.
Sources available at http://github.com/JetBrains/la-clojure.
More projects on GitHub: http://github.com/ilyasergey and http://github.com/UCL-PPLV.
6
Teaching
6.1
•
•
•
•
•
Teaching at UCL
6.2
Spring 2017:
Spring 2017:
Spring 2016:
Spring 2016:
Spring 2016:
comp104p – Theory 2, Analysis of Algorithms (142 students), Lecturer
comp203p – Software Engineering and HCI (124 students), Scenario Project Designer
comp104p – Theory 2, Analysis of Algorithms (155 students), Lecturer
comp203p – Software Engineering and HCI (94 students), Scenario Week Designer
comp2012 – Directed Reading (11 students), Second Examiner (with James Brotherston)
Teaching at summer schools and seminars
• August 2014: Programs and Proofs: Mechanizing Mathematics with Dependent Types
Saint Petersburg State University, Saint Petersburg, Russia
Course Designer, Summer School Lecturer
6.3
Teaching at KU Leuven
• Fall 2011: B-KUL-H04L5A – Comparative Programming Languages, Teaching Assistant
• Fall 2010: B-KUL-H04H8B – Formal systems and their applications, Teaching Assistant, 2nd Lecturer
• Fall 2009: B-KUL-H04H8B – Formal systems and their applications, Teaching Assistant, 2nd Lecturer
7
7.1
Academic service
Chair/Organiser
• ICFP 2017, Student Research Competition Chair
• 6th South of England Regional Programming Language Seminar (S-REPLS 6), Organiser
7.2
Program/External Review Committes
• Scala 2017: Scala Symposium 2017 (PC)
• APLAS 2017: 15th Asian Symposium on Programming Languages and Systems (PC)
• SAS 2017: 24th Static Analysis Symposium (PC)
Ilya Sergey
Curriculum Vitæ
Page 4 of 5
•
•
•
•
•
•
•
•
•
•
•
WTSC 2017: 1st Workshop on Trusted Smart Contracts (PC)
POPL 2017: 44th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (PC)
PEPM 2017: ACM SIGPLAN 2017 Workshop on Partial Evaluation and Program Manipulation (PC)
TMPA 2017: 4th International Conference on Tools And Methods of Program Analysis (PC)
Scala 2016: Scala Symposium 2016 (PC)
TAPAS 2016: The Seventh Workshop on Tools for Automatic Program Analysis (PC)
SEIM 2016: 1st Russian Conference on Software Engineering and Information Management (PC)
ESOP 2016: 25th European Symposium on Programming (PC)
STOP 2015: International Workshop on Scripts to Programs (PC)
PPDP 2014: 16th International Symposium on Principles and Practice of Declarative Programming (PC)
Scala 2014: The Fifth Annual Scala Workshop (PC)
7.3
•
•
•
•
•
7.4
Reviewing for Journals
Journal of Automated Reasoning (JAR) (2017)
ACM Transactions on Programming Languages and Systems (TOPLAS) (2014, 2015 × 2, 2016, 2017)
Philosophical Transactions of the Royal Society of London (2017),
Journal of Functional Programming (JFP) (2015)
Formal Aspects of Computing (2015).
Additional Conference and Workshop Refereeing
PLDI 2017, TACAS 2017, ESOP 2017, ATVA 2016, CONCUR 2016, DISC 2015, ECOOP 2015, ESOP 2015,
POPL 2015, GPCE 2014, ICFP 2014, CSF 2014, PROLE 2013, SAIRP 2013, CC 2013, ESOP 2013, POPL 2013,
CPP 2012, ECOOP 2012, NFM 2012, ESOP 2012, DSL 2011, IWACO 2011, Coordination 2010, Coordination 2009.
7.5
Other Service
• SPLASH 2017 Workshops, Workshop Program Committee member
• ICFP 2016, Student Research Competition, Selection Committee member
• ECOOP 2014, Artifact Evaluation Committee member
8
Invited and Keynote Talks
1. Keynote speaker at Russian National Conference on Programming Languages and Compilers
Rostov-on-Don, Russia. April 2017. http://plc.sfedu.ru
Talk title: Dependent Types for Verification of Real-World Programs
2. Keynote speaker at 15th International Symposium on Principles and Practice of Declarative Programming
(PPDP 2013), Madrid, Spain. September 2013.
Talk title: Monadic Abstract Interpreters
9
Visiting Fellowship
• Aarhus University, Aarhus, Denmark, September–October 2010 and November–December 2011.
Visiting PhD student. Host: prof. Olivier Danvy.
• École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland. August 2009.
Visiting PhD student. Host: prof. Martin Odersky.
10
Language Skills
English (fluent, IELTS 8.0, C1 CEFR), Spanish (fluent, B1 CEFR), Dutch (good, B2 CEFR, NT2 complete),
French (good, B2 CEFR), Danish (basic, A1 CEFR), Russian (mother tongue).
Ilya Sergey
Curriculum Vitæ
Page 5 of 5

Similar documents

×

Report this document