Presentations and Conference Talks
2019
Syntax Templates in Racket.
Ryan Culpepper.
In Scheme'19: Scheme and Functional Programming Workshop (to appear).

Online Abstraction with MDP Homomorphisms for Deep Learning.
Ondřej Bíža, Robert Platt.
In AAMAS'19: International Conference on Autonomous Agents and MultiAgent Systems.

From Macros to DSLs: The Evolution of Racket.
Ryan Culpepper, Matthias Felleisen, Matthew Flatt, Shriram Krishnamurthi.
In SNAPL'19: Summit on Advances in Programming Languages.

R Melts Brains: An IR for First-Class Environments and Lazy Effectful Arguments.
Olivier Flückiger, Guido Chari, Jan Ječmen, Ming-Ho Yee, Jakob Hain, Jan Vitek.
In DLS'19: Dynamic Languages Symposium (to appear).

Julia's Efficient Algorithm for Subtyping Unions and Covariant Tuples.
Benjamin Chung, Francesco Zappa Nardelli, Jan Vitek.
In ECOOP'19: European Conference on Object-Oriented Programming.

On the impact of Programming Languages Code Quality.
Emery D. Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, Jan Vitek.
In ACM Transactions on Programming Languages and Systems (to appear).

Can Android Run on Time? Extending and Measuring the Android Platform's Timeliness.
Yin Yan, Girish Gokul, Karthik Dantu, Steven Y. Ko, Lukasz Ziarek, Jan Vitek.
In ACM Transactions on Embedded Computing Systems, Vol 17, No. 6.

How to Evaluate the Performance of Gradual Type Systems.
Ben Greenman, Asumu Takikawa, Max S. New, Daniel Feltey, Robert Bruce Findler, Jan Vitek, Matthias Felleisen.
In Journal of Functional Programming, Vol. 29.

Feature-Specific Profiling.
Leif Andersen, Vincent St-Amour, Jan Vitek, Matthias Felleisen.
In Transactions on Programming Languages and Systems, Vol 41, Issue 1.

Verifying a Concurrent Garbage Collector with a Rely-Guarantee Methodology.
Yannick Zakowski, David Cachera, Delphine Demange, Gustavo Petri, David Pichardie, Suresh Jagannathan, Jan Vitek.
In Journal of Automated Reasoning, Vol. 63, Issue 2.

2018
Platform-Independent Dynamic Taint Analysis for JavaScript.
Rezwana Karim, Frank Tip, Alena Sochůrková, Koushik Sen.
In IEEE Transactions on Software Engineering (early access).

Julia: dynamism and performance reconciled by design.
Jeff Bezanson, Jiahao Chen, Benjamin Chung, Stefan Karpinski, Viral B. Shah, Jan Vitek, Lionel Zoubritzky.
In OOPSLA'19: Object-oriented Programming, Systems, Languages, and Applications.

Julia subtyping: a rational reconstruction.
Francesco Zappa Nardelli, Julia Belyakova, Artem Pelenitsyn, Benjamin Chung, Jeff Bezanson, and Jan Vitek.
In OOPSLA'19: Object-oriented Programming, Systems, Languages, and Applications.

Self-Contained Development Environments.
Guido Chari, Javier Pímas, Jan Vitek, and Olivier Flückiger.
In DLS'18: Dynamics Language Symposium.

Contextual equivalence for a probabilistic language with continuous random variables and recursion.
Mitchell Wand, Ryan Culpepper, Theophilos Giannalopoulos, and Andrew Cobb.
In ICFP'18: International Conference on Functional Programming.
acm_artifact_available
acm_artifact_evaluated_functional

Extracting tests from runtime behavior for R.
Filip Křikava.
In ISAGT'18: Workshop on Introspective Systems for Automatically Generating Tests. Invited talk.

Tests from Traces: Automated Unit Test Extraction for R.
Filip Křikava and Jan Vitek.
In ISSTA'18: International Symposium on Software Testing and Analysis.
Distinguished Artifact Award.
acm_artifact_available
acm_artifact_evaluated_reusable

KafKa: Gradual Typing for Objects.
Benjamin Chung, Paley Li, Francesco Zappa Nardelli, and Jan Vitek.
In ECOOP'18: European Conference on Object-Oriented Programming.
ecoop_artifact_evaluated

Preventing and Detecting Memory Protection Bugs in Packages.
Tomáš Kalibera.
In userR!'18: The Conference for Users of R.

Automated unit test generation using genthat.
Filip Křikava and Jan Vitek.
In userR!'18: The Conference for Users of R.

Handling Recursion in Generic Programming Using Closed Type Families.
Anna Bolotina and Artem Pelenitsyn.
In TFP'18: Trends in Functional Programming.

Soundness of a Correct Collector for Actors.
Juliana Franco, Sylvain Clebsch, Sophia Drossopoulou, Jan Vitek, and Tobias Wrigstad.
In ESOP'18: European Symposium on Programming.

Fully Reflective Execution Environments.
Guido Chari, Diego Garbervetsky, Stefan Marr, and Stephane Ducasse.
In Transactions on Software Engineering.

Correctness of Speculative Optimizations with Dynamic Deoptimization.
Olivier Flückiger, Gabriel Scherer, Ming-Ho Yee, Aviral Goel, Amal Ahmed, and Jan Vitek.
In POPL'18: Principles of Programming Languages.

2017
Deja-vu: A Map of Code Duplicates on GitHub.
Cristina V. Lopez, Petr Maj, Pedro Martins, Vaibhav Saini, Di Yang, Jakub Zitny, Hitesh Sajnani, and Jan Vitek.
In OOPSLA'17: Object-Oriented Programming, Systems, Languages & Applications.
Distinguished Artifact Award.

Appeared in: The Morning Paper, Slashdot, TheRegister.co.uk, Developpez.com (French), opennet.ru (Russian), toutiao (Chinese), and sohu (Chinese).


acm_artifact_available
acm_artifact_evaluated_reusable

Orca: GC and Type System Co-Design for Actor Languages.
Sylvain Clebsch, Juliana Franco, Sophia Drossopoulou, Albert Mingkun Yang, Tobias Wrigstad, and Jan Vitek.
In OOPSLA'17: Object-Oriented Programming, Systems, Languages & Applications.

Generic Approach to Certified Static Checking of Module-like Constructs.
Julia Belyakova.
In FTFJP'17: Workshop on Formal Techniques for Java-like Programs.

Parallelizing Julia with a Non-invasive DSL.
Todd Anderson, Hai Liu, Lindsey Kuper, Ehsan Totoni, Jan Vitek, and Tatiana Shpeisman.
In ECOOP'17: European Conference on Object-Oriented Programming.
ecoop_artifact_evaluated

Verifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology.
Yannick Zakowski, David Cachera, Delphine Demange, Gustavo Petri, David Pichardie, Suresh Jagannathan, and Jan Vitek.
In ITP'17: International Conference on Interactive Theorem Proving.

Contracts-Based Control Integration into Software Systems.
Filip Krikava, Philippe Collet, Romain Rouvoy, and Lionel Seinturier.
In R. de Lemos et al. book Self-Adaptive Systems III, LNCS 9640.

Hadoop-Benchmark: Rapid Prototyping and Evaluation of Self-Adaptive Behaviors in Hadoop Clusters.
Bo Zhang, Filip Krikava, Romain Rouvoy, and Lionel Seinturier.
In SEAMS’17: 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

Hadoop-Benchmark: Rapid Prototyping and Evaluation of Self-Adaptive Behaviors in Hadoop Clusters (Artifact).
Bo Zhang, Filip Krikava, Romain Rouvoy, and Lionel Seinturier.
In Dagstuhl Artifacts Series 2509-8195 vol. 3-1.

Making Android Run on Time.
Yin Yan, Karthik Dantu, Steven Y. Ko, Jan Vitek, and Lukasz Ziarek.
In RTAS'17: Real-time and Embedded Technology and Application Symposium.

Helenos: A Realistic Benchmark for Distributed Transactional Memory.
Jan Baranowski, Paweł Kobyliński, Konrad Siek, and Paweł T. Wojciechowski.
In Software: Practice and Experience, volume 48, issue 3.