Hi! I’m a grad student studying Programming Languages at Northwestern. This page provides information about myself and what I have been doing recently. The other half of the site is a blog that I use to practice writing about technical things, my research, and my interests.
Broadly, I’m interested in Programming Languages approaches to improving software development. This concretely means investigating how language features can improve program robustness, understandability, and maintainability. My work involves understanding the fundamental meanings of those features, how they interact, and how they impact programmers. To those ends, I use reduction semantics as a primary tool for modeling and understanding various languages and their features. Additionally, I work on the Racket programming language as a test bed for implementing, using, and evaluating new features or languages.
My github profile is llazarek.
(or (concat "lukas" "." "lazarek" "@" "eecs.northwestern.edu")
(concat "lukas" "a" "lazarek" "@" "gmail.com"))
Does Blame Shifting Work? (POPL 2020)
Lukas Lazarek, Alexis King, Samanvitha Sundar, Robert Bruce Findler, Christos Dimoulas
[doi] [artifact] [video] [bibtex] [pdf]
Proposes the first empirical methodology to evaluate the pragmatic value of blame in contract systems. At an intuitive level, the methodology evaluates the hypothesis that blame is systematically related to bugs in programs, using a controlled experiment performed with real programs. We evaluate Racket’s contract system using this approach and find that blame mostly does have the desired relationship with bugs, with some interesting caveats.
Faster Variational Execution with Transparent Bytecode Transformation (OOPSLA 2018)
Chu-Pan Wong, Jens Meinicke, Lukas Lazarek, Christian Kästner
[doi] [bibtex] [pdf]
Introduces an approach to implement variational execution as a compilation strategy by rewriting Java bytecode. This approach significantly improves upon the performance of existing (interpreted) engines, and opens the opportunity to explore new optimization techniques.
Does Blame Shifting Work? (POPL 2020, New Orleans 2020-01-22)
How to Efficiently Process 2100 List Variations (SPLASH 2017, Vancouver 2017-10-22)