Publications

2024
How Beginning Programmers and Code LLMs (Mis)read Each Other [link ]
Sydney Nguyen, Hannah McLean Babe, Yangtian Zi, Arjun Guha, Carolyn Jane Anderson, and Molly Q Feldman
ACM Conference on Human Factors in Computing Systems (CHI)
NL2Code-Reasoning And Planning With LLMs For Code Development [link ]
Ye Xing, Jun Huan, Wee Hyong Tok, Cong Shen, Johannes Gehrke, Katherine Lin, Arjun Guha, Omer Tripp, and Murali Krishna Ramanathan
Conference on Knowledge Discovery and Data Mining (KDD)
Semantic Matching In GUI Test Reuse [link ]
Farideh Khalili, Leonardo Mariani, Ali Mohebbi, Mauro Pezzè, and Valerio Terragni
Empirical Software Engineering (ESE)
StudentEval: A Benchmark of Student-Written Prompts for Large Language Models of Code [link ]
Hannah McLean Babe, Sydney Nguyen, Yangtian Zi, Arjun Guha, Molly Q Feldman, and Carolyn Jane Anderson
Findings of the Association for Computational Linguistics (ACL Findings)
An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generation [link ]
Max Schaefer, Sarah Nadi, Aryaz Eghbali, and Frank Tip
IEEE Transactions on Software Engineering (TSE)
Crossover in Parametric Fuzzing [link ]
Katherine Hough and Jonathan Bell
International Conference on Software Engineering (ICSE)
230,439 Test Failures Later: An Empirical Evaluation of Flaky Failure Classifiers [link ]
Abdulrahman Alshammari, Paul Ammann, Michael Hilton, and Jonathan Bell
International Conference on Software Testing, Verification and Validation (ICST)
Automatically Reproducing Timing-Dependent Flaky-Test Failures [link ]
Shanto Rahman, Aaron Massey, Wing Lam, August Shi, and Jonathan Bell
International Conference on Software Testing, Verification and Validation (ICST)
Ahead-Of-Time Compilation For Diverse Samplers Of Constrained Design Spaces [link ]
Abdelrahman Madkour, Ross Mawhorter, Stacy Marsella, Adam M. Smith, and Steven Holtzen
International Conference on the Foundations of Digital Games (FDG)
Knuth-Morris-Pratt Illustrated [link ]
Cameron Moy
Journal of Functional Programming (JFP)
Trace Contracts [link ]
Cameron Moy and Matthias Felleisen
Journal of Functional Programming (JFP)
A Nominal Approach To Probabilistic Separation Logic [link ]
John M. Li, Jon Aytac, Philip Johnson-Freyd, Amal Ahmed, and Steven Holtzen
Logic in Computer Science (LICS)
Thirty-Three Years of Mathematicians and Software Engineers: A Case Study of Domain Expertise and Participation in Proof Assistant Ecosystems [link ]
Gwenyth Lincroft, Minsung Cho, Katherine Hough, Mahsa Bazzaz, and Jonathan Bell
Mining Software Repositories (MSR)
Realistic Realizability: Specifying ABIs You Can Count On [link ]
Andrew Wagner, Zachary Eisbach, and Amal Ahmed
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Forge: A Tool And Language For Teaching Formal Methods [link ]
Tim Nelson, Ben Greenman, Siddhartha Prasad, Tristan Dyer, Ethan Bove, Qianfan Chen, Charles Cutting, Thomas Del Vecchio, Sidney Levine, Julianne Rudner, Ben Ryjikov, Alexander Varga, Andrew Wagner, Luke West, and Shriram Krishnamurthi
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Gradually Typed Languages Should Be Vigilant! [link ]
Olek Gierczak, Lucy Menon, Christos Dimoulas, and Amal Ahmed
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Effectful Software Contracts [link ]
Cameron Moy, Christos Dimoulas, and Matthias Felleisen
Principles of Programming Languages (POPL)
Decidable Subtyping Of Existential Types For Julia [link ]
Julia Belyakova, Benjamin Chung, Ross Tate, and Jan Vitek
Programming Language Design and Implementation (PLDI)
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down To Webassembly [link ]
Michael Fitzgibbons, Zoe Paraskevopoulou, Noble Mushtak, Michelle Thalakottur, Jose Sulaiman Manzur, and Amal Ahmed
Programming Language Design and Implementation (PLDI)
Bit Blasting Probabilistic Programs [link ]
Poorva Garg, Steven Holtzen, Guy Van den Broeck, and Todd D. Millstein
Programming Language Design and Implementation (PLDI)
Deploying and Evaluating LLMs to Program Service Mobile Robots [link ]
Zichao Hu, Francesca Lucchetti, Claire Schlesinger, Yash Saxena, Anders Freeman, Sadanand Modak, Arjun Guha, and Joydeep Biswas
Robotics and Automation Letters
2023
Probabilistic Logic Programming Semantics For Procedural Content Generation [link ]
Abdelrahman Madkour, Chris Martens, Steven Holtzen, Casper Harteveld, and Stacy Marsella
Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE)
Scaling Integer Arithmetic in Probabilistic Programs [link ]
William X. Cao, Poorva Garg, Ryan Tjoa, Steven Holtzen, Todd D. Millstein, and Guy Van den Broeck
Conference on Uncertainty in Artificial Intelligence (UAI)
SantaCoder: don't reach for the stars! [link ]
Loubna Ben Allal, Raymond Li, Denis Kocetkov, Chenghao Mou, Christopher Akiki, Carlos Munoz Ferrandis, Niklas Muennighoff, Mayank Mishra, Alex Gu, Manan Dey, Logesh Kumar Umapathi, Carolyn Jane Anderson, Yangtian Zi, Joel Lamy Poirier, Hailey Schoelkopf, Sergey Troshin, Dmitry Abulkhanov, Manuel Romero, Michael Lappert, Francesco De Toni, Bernardo García del Río, Qian Liu, Shamik Bose, Urvashi Bhattacharyya, Terry Yue Zhuo, Ian Yu, Paulo Villegas, Marco Zocca, Sourab Mangrulkar, David Lansky, Huu Nguyen, Danish Contractor, Luis Villa, Jia Li, Dzmitry Bahdanau, Yacine Jernite, Sean Hughes, Daniel Fried, Arjun Guha, Harm de Vries, and Leandro von Werra
Deep Learning for Code Workshop (DL4C)
Injecting Language Workbench Technology Into Mainstream Languages [link ]
Michael Ballantyne and Matthias Felleisen
Eelco Visser Commemorative Symposium (EVCS)
Do Machine Learning Models Produce TypeScript Types That Type Check? [link ]
Ming-Ho Yee and Arjun Guha
European Conference on Object-Oriented Programming (ECOOP)
Code Coverage Criteria for Asynchronous Programs [link ]
Mohammad Ganji, Saba Alimadadi, and Frank Tip
European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
MultiPL-E: A Scalable And Polyglot Approach To Benchmarking Neural Code Generation [link ]
Federico Cassano, John Gouwar, Daniel Nguyen, Sydney Nguyen, Luna Phipps-Costin, Donald Pinckney, Ming-Ho Yee, Yangtian Zi, Carolyn Jane Anderson, Molly Q. Feldman, Arjun Guha, Michael Greenberg, and Abhinav Jangda
IEEE Transactions on Software Engineering (TSE)
Increasing the Responsiveness of Web Applications by Introducing Lazy Loading [link ]
Alexi Turcotte, Satyajit Gokhale, and Frank Tip
International Conference on Automated Software Engineering (ASE)
How to Evaluate Blame for Gradual Types, Part 2 [link ]
Lukas Lazarek, Ben Greenman, Matthias Felleisen, and Christos Dimoulas
International Conference on Functional Programming (ICFP)
Flexible and Optimal Dependency Management via Max-SMT [link ]
Donald Pinckney, Federico Cassano, Arjun Guha, Jonathan Bell, Massimiliano Culpo, and Todd Gamblin
International Conference on Software Engineering (ICSE)
That's a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly [link ]
Daniel Lehmann, Michelle Thalakottur, Frank Tip, and Michael Pradel
International Symposium on Software Testing and Analysis (ISSTA)
Semantic Encapsulation using Linking Types [link ]
Daniel Patterson, Andrew Wagner, and Amal Ahmed
International Workshop on Type-Driven Development (TyDE)
Approximating Type Stability In The Julia Jit (Work In Progress) [link ]
Artem Pelenitsyn
International Workshop on Virtual Machines and Intermediate Languages (VMIL)
A Large Scale Analysis of Semantic Versioning in NPM [link ]
Donald Pinckney, Federico Cassano, Arjun Guha, and Jonathan Bell
Mining Software Repositories (MSR)
How Profilers Can Help Navigate Type Migration [link ]
Ben Greenman, Matthias Felleisen, and Christos Dimoulas
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Reusing Just-in-Time Compiled Code [link ]
Meetesh Kalpesh Mehta, Sebastián Krynski, Hugo Musso Gualandi, Manas Thakur, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Continuing WebAssembly with Effect Handlers [link ]
Luna Phipps-Costin, Andreas Rossberg, Arjun Guha, Daan Leijen, Daniel Hillerström, KC Sivaramakrishnan, Matija Pretnar, and Sam Lindle
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Lilac: A Modal Separation Logic for Conditional Probability [link ]
John M. Li, Amal Ahmed, Steven Holtzen
Programming Language Design and Implementation (PLDI)
StarCoder: May the Source be With You! [link ]
Raymond Li, Loubna Ben Allal, Yangtian Zi, Niklas Muennighoff, Denis Kocetkov, Chenghao Mou, Marc Marone, Christopher Akiki, Jia Li, Jenny Chim, Qian Liu, Evgenii Zheltonozhskii, Terry Yue Zhuo, Thomas Wang, Olivier Dehaene, Mishig Davaadorj, Joel Lamy-Poirier, João Monteiro, Oleh Shliazhko, Nicolas Gontier, Nicholas Meade, Armel Randy, Ming-Ho Yee, Logesh Kumar Umapathi, Jian Zhu, Benjamin Lipkin, Muhtasham Oblokulov, Zhiruo Wang, Rudra Murthy, Jason Stillerman, Siva Sankalp Patel, Dmitry Abulkhanov, Marco Zocca, Manan Dey, Zhihan Zhang, Nour Fahmy, Urvashi Bhattacharyya, Suriya Gunasekar, Wenhao Yu, Swayam Singh, Sasha Luccioni, Paulo Villegas, Maxim Kunakov, Fedor Zhdanov, Manuel Romero, Tony Lee, Nadav Timor, Jennifer Ding, Claire Schlesinger, Hailey Schoelkopf, Jan Ebert, Tri Dao, Mayank Mishra, Alex Gu, Jennifer Robinson, Carolyn Jane Anderson, Brendan Dolan-Gavitt, Danish Contractor, Siva Reddy, Daniel Fried, Dzmitry Bahdanau, Yacine Jernite, Carlos Muñoz Ferrandis, Sean Hughes, Thomas Wolf, Arjun Guha, Leandro von Werra, and Harm de Vries
Transactions on Machine Learning Research (TMLR)
Typed–Untyped Interactions: A Comparative Analysis [link ]
Ben Greenman, Christos Dimoulas, and Matthias Felleisen
Transactions on Programming Languages and Systems (TOPLAS)
Faster, Simpler Red-Black Trees [link ]
Cameron Moy
Trends in Functional Programming (TFP)
2022
Adversary Safety By Construction In A Language Of Cryptographic Protocols [link ]
Timothy M. Braje, Alice R. Lee, Andrew Wagner, Benjamin Kaiser, Daniel Park, Martine Kalke, Robert K. Cunningham, and Adam Chlipala
Computer Security Foundations Symposium (CSF)
Stubbifier: Debloating Dynamic Server-Side JavaScript Applications [link ]
Alexi Turcotte, Ellen Arteca, Ashish Mishra, Saba Alimadadi, and Frank Tip
Empirical Software Engineering
A Retrospective Study Of One Decade Of Artifact Evaluations [link ]
Stefan Winter, Christopher Steven Timperley, Ben Hermann, Jürgen Cito, Jonathan Bell, Michael Hilton, and Dirk Beyer
European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
Learning How to Listen: Automatically Finding Bug Patterns in Event-Driven JavaScript APIs [link ]
Ellen Arteca, Max Schäfer, and Frank Tip
IEEE Transactions on Software Engineering (TSE)
Reformulator: Automated Refactoring Of The N+1 Problem In Database-Backed Applications [link ]
Alexi Turcotte, Mark W. Aldrich, and Frank Tip
International Conference on Automated Software Engineering (ASE)
Augur: Dynamic Taint Analysis For Asynchronous Javascript [link ]
Mark W. Aldrich, Alexi Turcotte, Matthew Blanco, and Frank Tip
International Conference on Automated Software Engineering (ASE)
Analyzing Binding Extent in 3CPS [link ]
Benjamin Quiring, Olin Shivers, and John Reppy
International Conference on Functional Programming (ICFP)
DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous JavaScript [link ]
Alexi Turcotte, Michael D. Shah, Mark W. Aldrich, and Frank Tip
International Conference on Software Engineering (ICSE)
Nessie: Automatically Testing JavaScript APIs with Asynchronous Callbacks [link ]
Ellen Arteca, Sebastian Harner, Michael Pradel, and Frank Tip
International Conference on Software Engineering (ICSE)
CONFETTI: Amplifying Concolic Guidance for Fuzzers [link ]
James Kukucka, Luís Pina, Paul Ammann, and Jonathan Bell
International Conference on Software Engineering (ICSE)
signatr: A Data-Driven Fuzzing Tool For R [link ]
Alexi Turcotte, Pierre Donat-Bouillud, Filip Křikava, and Jan Vitek
International Conference on Software Language Engineering (SLE)
On the Use of Mutation Analysis For Evaluating Student Test Suite Quality [link ]
James Perretta, Andrew DeOrio, Arjun Guha, and Jonathan Bell
International Symposium on Software Testing and Analysis (ISSTA)
ANF Preserves Dependent Types up to Extensional Equality [link ]
Paulette Koronkevich, Ramon Rakow, Amal Ahmed, and William J. Bowman
Journal of Functional Programming (JFP)
Computing Correctly With Inductive Relations [link ]
Zoe Paraskevopoulou, Aaron Eline, and Leonidas Lampropoulos
Programming Language Design and Implementation (PLDI)
Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations [link ]
Olivier Flückiger, Jan Ječmen, Sebastián Krynski, and Jan Vitek
Programming Language Design and Implementation (PLDI)
Semantic Soundness for Language Interoperability [link ]
Daniel Patterson, Noble Mushtak, Andrew Wagner, and Amal Ahmed
Programming Language Design and Implementation (PLDI)
Integrated Data Science for Secondary Schools: Design and Assessment of a Curriculum [link ]
Emmanuel Schanzer, Nancy Pfenning, Flannery Denny, Sam Dooman, Joe Gibbs Politz, Benjamin S. Lerner, Kathi Fisler, and Shriram Krishnamurthi
Technical Symposium on Computer Science Education (SIGCSE)
A Transient Semantics For Typed Racket [link ]
Ben Greenman, Lukas Lazarek, Christos Dimoulas, and Matthias Felleisen
The Art, Science, and Engineering of Programming
2021
A Practical Approach for Dynamic Taint Tracking with Control-flow Relationships [link ]
Katherine Hough and Jonathan Bell
ACM Transactions on Software Engineering and Methodology (TOSEM)
First-Class Environments in R [link ]
Aviral Goel and Jan Vitek
Dynamic Languages Symposium (DLS)
Accelerating Graph Sampling For Graph Machine Learning Using GPUs [link ]
Abhinav Jangda, Sandeep Polisetty, Arjun Guha, and Marco Serafini
European Conference on Computer Systems (EuroSys)
CodeDJ: Reproducible Queries over Large-Scale Software Repositories [link ]
Petr Maj, Konrad Siek, Jan Vitek, and Alexander Kovalenko
European Conference on Object-Oriented Programming (ECOOP)
Enabling Additional Parallelism in Asynchronous JavaScript Applications [link ]
Ellen Arteca, Frank Tip, and Max Schäefer
European Conference on Object-Oriented Programming (ECOOP)
3CPS: The Design of an Environment-Focussed Intermediate Representation [link ]
Benjamin Quiring, John Reppy, and Olin Shivers
Implementation and Application of Functional Languages (IFL)
How to Evaluate Blame for Gradual Types [link ]
Lukas Lazarek, Ben Greenman, Matthias Felleisen, and Christos Dimoulas
International Conference on Functional Programming (ICFP)
Compositional Optimizations for Certicoq [link ]
Zoe Paraskevopoulou, John M. Li, and Andrew W. Appel
International Conference on Functional Programming (ICFP)
Iterative Program Synthesis For Adaptable Social Navigation [link ]
Jarrett Holtz, Simon Andrews, Arjun Guha, and Joydeep Biswas
International Conference on Intelligent Robots and Systems (IROS)
FlakeFlagger: Predicting Flakiness Without Rerunning Tests [link ]
Abdulrahman Alshammari, Christopher Morris, Michael Hilton, and Jonathan Bell
International Conference on Software Engineering (ICSE)
Cryptographic Hardness Under Projections For Time-Bounded Kolmogorov Complexity [link ]
Eric Allender, John Gouwar, Shuichi Hirahara, and Caleb Robelle
International Symposium on Algorithms and Computation (ISAAC)
Coarsening Optimization for Differentiable Programming [link ]
Xipeng Shen, Guoqiang Zhang, Irene Dea, Samantha Andow, Emilio Arroyo-Fang, Neal Gafter, Johann George, Melissa Grueter, Erik Meijer, Olin Shivers, Steffi Stumpos, Alanna Tempest, Christy Warden, and Shannon Yang
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
What We Eval in the Shadows: A Large-Scale Study of Eval in R Programs [link ]
Aviral Goel, Pierre Donat-Bouillud, Filip Křikava, Christoph M. Kirsch, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Type Stability in Julia: Avoiding Performance Pathologies in JIT Compilation [link ]
Artem Pelenitsyn, Julia Belyakova, Benjamin Chung, Ross Tate, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Promises Are Made to Be Broken: Migrating R to Strict Semantics [link ]
Aviral Goel, Jan Ječmen, Sebastián Krynski, Olivier Flückiger, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Solver-Based Gradual Type Migration [link ]
Luna Phipps-Costin, Carolyn Jane Anderson, Michael Greenberg, and Arjun Guha
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Automatic Migration from Synchronous to Asynchronous Javascript APIs [link ]
Satyajit Gokhale, Alexi Turcotte, and Frank Tip
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Compiling with Continuations, Correctly [link ]
Zoe Paraskevopoulou and Anvay Grover
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Corpse Reviver: Sound And Efficient Gradual Typing Via Contract Verification [link ]
Cameron Moy, Phúc C. Nguyễn, Sam Tobin-Hochstadt, and David Van Horn
Principles of Programming Languages (POPL)
Formally Verified Speculation and Deoptimization in a JIT Compiler [link ]
Aurèle Barrière, Olivier Flückiger, Sandrine Blazy, David Pichardie, and Jan Vitek
Principles of Programming Languages (POPL)
Proof Repair Across Type Equivalences [link ]
Talia Ringer, RanDair Porter, Nathaniel Yazdani, John Leo, and Dan Grossman
Programming Language Design and Implementation (PLDI)
Evolving A K-12 Curriculum For Integrating Computer Science Into Mathematics [link ]
Kathi Fisler, Emmanuel Schanzer, Steve Weimar, Annie Fetter, K. Ann Renninger, Shriram Krishnamurthi, Joe Gibbs Politz, Benjamin Lerner, Jennifer Poole, and Christine Koerner
Technical Symposium on Computer Science Education (SIGCSE)
2020
Robot Action Selection Learning via Layered Dimension Informed Program Synthesis [link ]
Jarrett Holtz, Arjun Guha, and Joydeep Biswas
Conference on Robot Learning (CoRL)
Sampling Optimized Code For Type Feedback [link ]
Olivier Flückiger, Andreas Wälchli, Sebastián Krynski, and Jan Vitek
Dynamic Languages Symposium (DLS)
Wasm/K: Delimited Continuations For WebAssembly [link ]
Donald Pinckney, Arjun Guha, and Yuriy Brun
Dynamic Languages Symposium (DLS)
A Semantics for the Essence of React [link ]
Magnus Madsen, Ondřej Lhoták, and Frank Tip
European Conference on Object-Oriented Programming (ECOOP)
Hygienic Macro Technology [link ]
William D. Clinger and Mitchell Wand
History of Programming Languages (HOPL)
Model-Based Warp Overlapped Tiling for Image Processing Programs on GPUs [link ]
Abhinav Jangda and Arjun Guha
International Conference on Parallel Architectures and Compilation Techniques (PACT)
Typed Dataspace Actors [link ]
Samuel Caldwell, Tony Garnock-Jones, and Matthias Felleisen
Journal of Functional Programming (JFP)
A Large-Scale Longitudinal Study of Flaky Tests [link ]
Wing Lam, Stefan Winter, Anjiang Wei, Tao Xie, Darko Marinov, and Jonathan Bell
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
World Age in Julia: Optimizing Method Dispatch in the Presence of Eval [link ]
Julia Belyakova, Benjamin Chung, Jack Gelinas, Jameson Nash, Ross Tate, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Contextual Dispatch for Function Specialization [link ]
Olivier Flückiger, Guido Chari, Ming-Ho Yee, Jan Ječmen, Jakob Hain, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Designing Types for R, Empirically [link ]
Alexi Turcotte, Aviral Goel, Filip Křikava, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Adding Interactive Visual Syntax to Textual Code [link ]
Leif Andersen, Michael Ballantyne, and Matthias Felleisen
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Macros for Domain-Specific Languages [link ]
Michael Ballantyne, Alexis King, and Matthias Felleisen
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
TacTok: Semantics-Aware Proof Synthesis [link ]
Emily First, Yuriy Brun, and Arjun Guha
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Dependent Type Systems as Macros [link ]
Stephen Chang, Michael Ballantyne, Milo Turner, and William J. Bowman
Principles of Programming Languages (POPL)
Graduality and Parametricity: Together Again for the First Time [link ]
Max S. New, Dustin Jamner, and Amal Ahmed
Principles of Programming Languages (POPL)
Learning Self-Play Agents For Combinatorial Optimization Problems [link ]
Ruiyang Xu and Karl Lieberherr
The Knowledge Engineering Review
2019
Formal Approaches to Secure Compilation: A Survey of Fully Abstract Compilation and Related Work [link ]
Marco Patrignani, Amal Ahmed, and Dave Clarke
ACM Computing Surveys (CSUR)
Can Android Run on Time? Extending and Measuring the Android Platform's Timeliness [link ]
Yin Yan, Girish Gokul, Karthik Dantu, Steven Y. Ko, Lukasz Ziarek, and Jan Vitek
ACM Transactions on Embedded Computing Systems (TECS)
R Melts Brains: An IR for First-Class Environments and Lazy Effectful Arguments [link ]
Olivier Flückiger, Ming-Ho Yee, Guido Chari, Jakob Hain, Jan Ječmen and Jan Vitek
Dynamic Languages Symposium (DLS)
Julia's Efficient Algorithm for Subtyping Unions and Covariant Tuples [link ]
Benjamin Chung, Francesco Zappa Nardelli, and Jan Vitek
European Conference on Object-Oriented Programming (ECOOP)
A Study of Call Graph Construction for JVM-Hosted Languages [link ]
Karim Ali, Xiaoni Lai, Zhaoyi Luo, Ondřej Lhoták, Julian Dolby, and Frank Tip
IEEE Transactions on Software Engineering (TSE)
The Next 700 Compiler Correctness Theorems (Functional Pearl) [link ]
Daniel Patterson and Amal Ahmed
International Conference on Functional Programming (ICFP)
How to Evaluate the Performance of Gradual Type Systems [link ]
Ben Greenman, Asumu Takikawa, Max S. New, Daniel Feltey, Robert Bruce Findler, Jan Vitek, and Matthias Felleisen
Journal of Functional Programming (JFP)
Scala Implicits are Everywhere: A Large-Scale Study of the Use of Implicits in the Wild [link ]
Filip Křikava, Heather Miller, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
On the Design, Implementation and Use of Laziness in R [link ]
Aviral Goel and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Complete Monitors for Gradual Types [link ]
Ben Greenman, Matthias Felleisen, and Christos Dimoulas
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Under Control: Compositionally Correct Closure Conversion with Mutable State [link ]
Phillip Mates, Jamie Perconti, and Amal Ahmed
Principles and Practice of Declarative Programming (PPDP)
Gradual Type Theory [link ]
Max S. New, Daniel R. Licata, and Amal Ahmed
Principles of Programming Languages (POPL)
From Macros to DSLs: The Evolution of Racket [link ]
Ryan Culpepper, Matthias Felleisen, Matthew Flatt, and Shriram Krishnamurthi
Summit on Advances in Programming Langugages (SNAPL)
On the Impact of Programming Languages on Code Quality [link ]
Emery D. Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, and Jan Vitek
Transactions on Programming Languages and Systems (TOPLAS)
2018
The Behavior of Gradual Types: A User Study [link ]
Preston Tunnell Wilson, Ben Greenman, Justin Pombrio, and Shriram Krishnamurthi
Dynamic Languages Symposium (DLS)
KafKa: Gradual Typing for Objects
Benjamin Chung, Paley Li, Francesco Zappa Nardelli, and Jan Vitek
European Conference on Object-Oriented Programming (ECOOP)
Practical AJAX Race Detection for JavaScript Web Applications [link ]
Christoffer Quist Adamsen, Anders Møller, Saba Alimadadi, and Frank Tip
European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
Soundness of a Concurrent Collector for Actors [link ]
Juliana Franco, Sylvain Clebsch, Sophia Drossopoulou, Jan Vitek, and Tobias Wrigstad
European Symposium on Programming (ESOP)
Call-by-name Gradual Type Theory
Max S. New and Daniel R. Licata
Formal Structures for Computation and Deduction (FSCD)
Platform-Independent Dynamic Taint Analysis for JavaScript [link ]
Rezwana Karim, Frank Tip, Alena Sochurkova, and Koushik Sen
IEEE Transactions on Software Engineering (TSE)
Graduality from Embedding-Projection Pairs
Max S. New and Amal Ahmed
International Conference on Functional Programming (ICFP)
Contextual Equivalence for a Probabilistic Language with Continuous Random Variables and Recursion [link ]
Mitchell Wand, Ryan Culpepper, Theophilos Giannakopoulos, and Andrew Cobb
International Conference on Functional Programming (ICFP)
A Spectrum of Soundness and Performance
Ben Greenman and Matthias Felleisen
International Conference on Functional Programming (ICFP)
Tests from Traces: Automated Unit Test Generation for R
Filip Křikava, Jan Vitek
International Symposium on Software Testing and Analysis (ISSTA)
Verifying a Concurrent Garbage Collector with a Rely-Guarantee Methodology [link ]
Yannick Zakowski, David Cachera, Delphine Demange, Gustavo Petri, David Pichardie, Suresh Jagannathan, and Jan Vitek
Journal of Automated Reasoning (JAR)
Collapsible Contracts: Fixing a Pathology of Gradual Typing [link ]
Daniel Feltey, Ben Greenman, Christophe Scholliers, Robby Findler, and Vincent St-Amour
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Finding Broken Promises in Asynchronous JavaScript Programs [link ]
Saba Alimadadi, Di Zhong, Magnus Madsen, and Frank Tip
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Julia Subtyping: a Rational Reconstruction [link ]
Francesco Zappa Nardelli, Julia Belyakova, Artem Pelenitsyn, Benjamin Chung, Jeff Bezanson, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Julia: Dynamism and Performance Reconciled by Design [link ]
Jeff Bezanson, Benjamin Chung, Jiahao Chen, Stefan Karpinski, Viral B Shah, Jan Vitek, and Lionel Zoubritzky
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Test Generation for Higher-Order Functions in Dynamic Languages [link ]
Marija Selakovic, Michael Pradel, Rezwana Karim Nawrin, and Frank Tip
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Correctness of Speculative Optimizations with Dynamic Deoptimization [link ]
Olivier Fluckiger, Gabriel Scherer, Ming-Ho Yee, Aviral Goel, Amal Ahmed, and Jan Vitek
Principles of Programming Languages (POPL)
Symbolic Types for Lenient Symbolic Execution [link ]
Stephen Chang, Alex Knauth, and Emina Torlak
Principles of Programming Languages (POPL)
Type-Preserving CPS Translation of Σ and Π Types is Not Not Possible [link ]
William J. Bowman, Youyou Cong, Nick Rioux, and Amal Ahmed
Principles of Programming Languages (POPL)
Simplicitly: Foundations and Applications of Implicit Function Types [link ]
Martin Odersky, Olivier Blanvillain, Fengyun Liu, Aggelos Biboudis, Heather Miller, and Sandro Stucki
Principles of Programming Languages (POPL)
Typed Closure Conversion of the Calculus of Constructions [link ]
William J. Bowman and Amal Ahmed
Programming Language Design and Implementation (PLDI)
Feature-specific Profiling [link ]
Leif Andersen, Vincent St-Amour, Jan Vitek, and Matthias Felleisen
Transactions on Programming Languages and Systems (TOPLAS)
Rank Polymorphism Viewed as a Constraint Problem [link ]
Justin Slepak, Panagiotis Manolios, and Olin Shivers
Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY)
On the Cost of Type-Tag Soundness [link ]
Ben Greenman and Zeina Migeed
Workshop on Partial Evaluation and Program Manipulation (PEPM)
Contextual Equivalence for a Probabilistic Language with Continuous Random Variables and Recursion [link ]
Mitchell Wand, Theophilos Giannakopoulos, Andrew Cobb, and Ryan Culpepper
Workshop on Probabilistic Programming Semantics (PPS)
2017
Parallelizing Julia with a Non-invasive DSL [link ]
Todd Anderson, Hai Liu, Lindsey Kuper, Ehsan Totoni, Jan Vitek, and Tatiana Shpeisman
European Conference on Object-Oriented Programming (ECOOP)
Contextual Equivalence for Probabilistic Programs with Continuous Random Variables and Scoring [link ]
Ryan Culpepper and Andrew Cobb
European Symposium on Programming (ESOP)
Verifying a Concurrent Garbage Collector using a Rely-Guarantee Methodology [link ]
Yannick Zakowski, David Cachera, Delphine Demange, Gustavo Petri, David Pichardie, Suresh Jagannathan, and Jan Vitek
Interactive Theorem Proving (ITP)
Inferring Scope through Syntactic Sugar [link ]
Justin Pombrio, Shriram Krishnamurthi, and Mitchell Wand
International Conference on Functional Programming (ICFP)
No-Brainer CPS Conversion [link ]
Milo Davis, William Meehan, and Olin Shivers
International Conference on Functional Programming (ICFP)
Super 8 Languages for Making Movies (Functional Pearl) [link ]
Leif Andersen, Stephen Chang, and Matthias Felleisen
International Conference on Functional Programming (ICFP)
Theorems for Free for Free: Parametricity, With and Without Types [link ]
Amal Ahmed, Dustin Jamner, Jeremy G. Siek, and Philip Wadler
International Conference on Functional Programming (ICFP)
Orca: GC and Type System Co-Design for Actor Languages [link ]
Sylvain Clebsch, Juliana Franco, Sophia Drossopoulou, Albert Mingkun Yang, Tobias Wrigstad, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Déj́à Vu: A Map of Code Duplicates on GitHub [link ]
Crista Lopes, Petr Maj, Pedro Martins, Di Yang, Jakub Zitny, Hitesh Sajnani, and Jan Vitek
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Type Systems as Macros [link ]
Stephen Chang, Alex Knauth, Ben Greenman
Principles of Programming Languages (POPL)
Deciding equivalence with sums and the empty type [link ]
Gabriel Scherer
Principles of Programming Languages (POPL)
FunTAL: Reasonably Mixing a Functional Language with Assembly [link ]
Daniel Patterson, Jamie Perconti, Christos Dimoulas, and Amal Ahmed
Programming Language Design and Implementation (PLDI)
Making Android Run on Time [link ]
Yin Yan, Karthik Dantu, Steven Y. Ko, Jan Vitek, and Lukasz Ziarek
Real-time and Embedded Technology and Application Symposium (RTAS)
Linking Types for Multi-Language Software: Have Your Cake and Eat It Too [link ]
Daniel Patterson and Amal Ahmed
Summit on Advances in Programming Langugages (SNAPL)
Search for Program Structure [link ]
Gariel Scherer
Summit on Advances in Programming Langugages (SNAPL)
Migratory Typing: Ten Years Later [link ]
Sam Tobin-Hochstadt, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Ben Greenman, Andrew M. Kent, Vincent St-Amour, T. Stephen Strickland, and Asumu Takikawa
Summit on Advances in Programming Langugages (SNAPL)
2016
Coordinated Concurrent Programming in Syndicate [link ]
Tony Garnock-Jones and Matthias Felleisen
European Symposium on Programming (ESOP)
Fully Abstract Compilation via Universal Embedding [link ]
Max S. New, William J. Bowman, and Amal Ahmed
International Conference on Functional Programming (ICFP)
Oh Lord, Please Don’t Let Contracts Be Misunderstood (Functional Pearl) [link ]
Christos Dimoulas, Max S. New, Robert Bruce Findler, and Matthias Felleisen
International Conference on Functional Programming (ICFP)
Is sound gradual typing dead? [link ]
Asumu Takikawa, Daniel Feltey, Ben Greenman, Max S. New, Jan Vitek, and Matthias Felleisen
Principles of Programming Languages (POPL)
2015
Concrete Types for TypeScript [link ]
Gregor Richards, Francesco Zappa Nardelli, and Jan Vitek
European Conference on Object-Oriented Programming (ECOOP)
Cooking the Books: Formalizing JMM Implementation Recipes [link ]
Gustavo Petri, Jan Vitek, and Suresh Jagannathan
European Conference on Object-Oriented Programming (ECOOP)
Toward practical gradual typing [link ]
Asumu Takikawa, Daniel Feltey, Earl Dean, Matthew Flatt, Robert Bruce Findler, Sam Tobin-Hochstadt, and Matthias Felleisen
European Conference on Object-Oriented Programming (ECOOP)
Feature-specific Profiling [link ]
Vincent St-Amour, Leif Andersen, Matthias Felleisen
International Conference on Compiler Construction (CC)
Noninterference for Free [link ]
William J. Bowman and Amal Ahmed
International Conference on Functional Programming (ICFP)
Repeatability, reproducibility and rigor in CS research [link ]
Jan Vitek
PLMW@POPL
Verified Compilers for a Multi-Language World [link ]
Amal Ahmed
Summit on Advances in Programming Langugages (SNAPL)
The Racket Manifesto [link ]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Eli Barzilay, Jay McCarthy, Sam Tobin-Hochstadt
Summit on Advances in Programming Langugages (SNAPL)
Transferring Skills at Solving Word Problems from Computing to Algebra Through Bootstrap [link ]
Emmanuel Schanzer, Kathi Fisler, Shriram Krishnamurthi, Matthias Felleisen
Technical Symposium on Computer Science Education (SIGCSE)
2014
An Array-Oriented Language with Static Rank Polymorphism [link ]
Justin Slepak, Olin Shivers, and Panagiotis Manolios
European Symposium on Programming (ESOP)
Verifying an Open Compiler Using Multi-Language Semantics [link ]
James T. Perconti and Amal Ahmed
European Symposium on Programming (ESOP)
The Network as a Language Construct [link ]
Tony Garnock-Jones, Sam Tobin-Hochstadt, and Matthias Felleisen
European Symposium on Programming (ESOP)
M3: high-performance memory management from off-the-shelf components [link ]
David Terei, Alex Aiken, and Jan Vitek
ISMM
Romeo: a system for more flexible binding-safe programming [link ]
Paul Stansifer and Mitchell Wand
International Conference on Functional Programming (ICFP)
Database Queries that Explain their Work [link ]
James Cheney, Amal Ahmed, and Umut Acar
Principles and Practice of Declarative Programming (PPDP)
Profiling for Laziness [link ]
Stephen Chang, Matthias Felleisen
Principles of Programming Languages (POPL)
Atomicity refinement for verified compilation [link ]
Suresh Jagannathan, Gustavo Petri, Jan Vitek, David Pichardie, and Vincent Laporte
Programming Language Design and Implementation (PLDI)
Atomicity Refinement for Verified Compilation [link ]
Suresh Jagannathan, Vincent Laporte, Gustavo Petri, David Pichardie, and Jan Vitek
Transactions on Programming Languages and Systems (TOPLAS)
A fast abstract syntax tree interpreter for R [link ]
Tomas Kalibera, Petr Maj, Flor, and Jan Vitek
VEE
The case for the three R's of systems research: repeatability, reproducibility and rigor [link ]
Jan Vitek
VEE
2013
Option Contracts [link ]
Christos Dimoulas, Robert Bruce Findler, Matthias Felleisen
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Logical Relations for Fine-Grained Concurrency [link ]
Aaron Turon, Jacob Thamsborg, Amal Ahmed, Lars Birkedal, Derek Dreyer
Principles of Programming Languages (POPL)
Contracts for First-Class Classes [link ]
T. Stephen Strickland, Christos Dimoulas, Asumu Takikawa, and Matthias Felleisen
Transactions on Programming Languages and Systems (TOPLAS)
2012
The Call-by-need Lambda Calculus, Revisited [link ]
Stephen Chang and Matthias Felleisen
European Symposium on Programming (ESOP)
Complete Monitors for Behavioral Contracts [link ]
Christos Dimoulas, Sam Tobin-Hochstadt, and Matthias Felleisen
European Symposium on Programming (ESOP)
Seeing the futures: profiling shared-memory parallel Racket [link ]
James Swaine, Burke Fetscher, Vincent St-Amour, Robby Findler and Matthew Flatt
Functional High-Performance Computing (FHPC)
Gradual Typing for First-Class Classes [link ]
Asumu Takikawa, T. Stephen Strickland, Christos Dimoulas, Sam Tobin-Hochstadt, Matthias Felleisen
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Optimization Coaching [link ]
Vincent St-Amour, Sam Tobin-Hochstadt, Matthias Felleisen
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Practical Programming with Substructural Types [link ]
Jesse A. Tov
PhD Dissertation, Northeastern University
Typing the Numeric Tower [link ]
Vincent St-Amour, Sam Tobin-Hochstadt, Matthew Flatt, and Matthias Felleisen
Practical Aspects of Declarative Languages (PADL)
Run Your Research [link ]
Casey Klein, John Clements, Christos Dimoulas, Carl Eastlund, Matthias Felleisen, Matthew Flatt, Jay McCarthy, Jon Rafkind, Sam Tobin-Hochstadt, Robert Bruce Findler
Principles of Programming Languages (POPL)
2011
Bounded-latency regional garbage collection [link ]
Felix S. Klock II and William D. Clinger
Dynamic Languages Symposium (DLS)
From Stack Traces to Lazy Rewriting Sequences [link ]
Stephen Chang, Eli Barzilay, John Clements, Matthias Felleisen
Implementation and Application of Functional Languages (IFL)
Modular rollback through control logging: a pair of twin functional pearls [link ]
Olin Shivers and Aaron Joseph Turon
International Conference on Functional Programming (ICFP)
Pushdown flow analysis of first-class control [link ]
Dimitrios Vardoulakis and Olin Shivers
International Conference on Functional Programming (ICFP)
Parsing reflective grammars [link ]
Paul Stansifer and Mitchell Wand
LDTA
A Resource Analysis of the π-calculus [link ]
Aaron Joseph Turon and Mitchell Wand
Mathematical Foundations of Programming Semantics (MFPS)
A Theory of Substructural Types and Control [link ]
Jesse A. Tov and Riccardo Pucella
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Ordering multiple continuations on the stack [link ]
Dimitrios Vardoulakis and Olin Shivers
PEPM
Practical Affine Types [link ]
Jesse A. Tov and Riccardo Pucella
Principles of Programming Languages (POPL)
Correct Blame for Contracts: No More Scapegoating [link ]
Christos Dimoulas, Robert Bruce Findler, Cormac Flanagan, Matthias Felleisen
Principles of Programming Languages (POPL)
A separation logic for refining concurrent objects [link ]
Aaron Joseph Turon and Mitchell Wand
Principles of Programming Languages (POPL)
Languages as Libraries [link ]
Sam Tobin-Hochstadt, Vincent St-Amour, Ryan Culpepper, Matthew Flatt, Matthias Felleisen
Programming Language Design and Implementation (PLDI)
A Family of Abstract Interpretations for Static Analysis of Concurrent Higher-Order Programs [link ]
Matthew Might and David Van Horn
The 18th International Static Analysis Symposium
On Contract Satisfaction in a Higher-Order World [link ]
Christos Dimoulas, Matthias Felleisen
Transactions on Programming Languages and Systems (TOPLAS)
2010
Weaving Generic Programming and Traversal Performance [link ]
Bryan Chadwick and Karl Lieberherr
AOSD
Contracts for First-Class Classes [link ]
T. Stephen Strickland, Matthias Felleisen
Dynamic Languages Symposium (DLS)
Stateful Contracts for Affine Types [link ]
Jesse A. Tov and Riccardo Pucella
European Symposium on Programming (ESOP)
CFA2: A Context-Free Approach to Control-Flow Analysis [link ]
Dimitrios Vardoulakis and Olin Shivers
European Symposium on Programming (ESOP)
Bottom-up beta-reduction: Uplinks and lambda-DAGs [link ]
Olin Shivers and Mitchell Wand
Fundamenta Informaticae
Abstracting Abstract Machines [link ]
David Van Horn and Matthew Might
International Conference on Functional Programming (ICFP)
Fortifying Macros [link ]
Ryan Culpepper, Matthias Felleisen
International Conference on Functional Programming (ICFP)
Logical Types for Untyped Languages [link ]
Sam Tobin-Hochstadt, Matthias Felleisen
International Conference on Functional Programming (ICFP)
TeachScheme!---A Checkpoint (Abstract) [link ]
Matthias Felleisen
International Conference on Functional Programming (ICFP)
CFA2: a Context-Free Approach to Control-Flow Analysis [link ]
Dimitrios Vardoulakis and Olin Shivers
Northeastern University College of Computer and Information Science Technical Reports
Functional Adaptive Programming [link ]
Bryan Chadwick
PhD Dissertation, Northeastern University
Resolving and Exploiting the k-CFA Paradox [link ]
Matthew Might, Yannis Smaragdakis and David Van Horn
Programming Language Design and Implementation (PLDI)
Pushdown Control-Flow Analysis of Higher-Order Programs [link ]
Christopher Earl, Matthew Might and David Van Horn
Scheme and Functional Programming Workshop
Evaluating Call By Need on the Control Stack [link ]
Stephen Chang, David Van Horn and Matthias Felleisen
Trends in Functional Programming (TFP)
Hygienic Macros for ACL2 [link ]
Carl Eastlund, Matthias Felleisen
Trends in Functional Programming (TFP)
Adding Types to Untyped Languages (Abstract) [link ]
Matthias Felleisen
Types in Language Design and Implementation (TLDI)
Algorithms for Traversal-Based Generic Programming [link ]
Bryan Chadwick and Karl Lieberherr
Workshop on Generic Programming
2009
Automatic Verification for Interactive Graphical Programs [link ]
Carl Eastlund and Matthias Felleisen
ACL2 Workshop
Contracts for First-Class Modules [link ]
T. Stephen Strickland, Matthias Felleisen
Dynamic Languages Symposium (DLS)
Practical Variable-Arity Polymorphism [link ]
T. Stephen Strickland, Sam Tobin-Hochstadt, and Matthias Felleisen
European Symposium on Programming (ESOP)
A Type System for Functional Traversal-Based Aspects [link ]
Bryan Chadwick and Karl Lieberherr
FOAL Workshop
Nested and Dynamic Contract Boundaries [link ]
T. Stephen Strickland, Matthias Felleisen
Implementation and Application of Functional Languages (IFL)
A Functional I/O System (or Fun for Freshman Kids) [link ]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
International Conference on Functional Programming (ICFP)
Regular expression derivatives reexamined [link ]
Scott Owens, John Reppy and Aaron Turon
Journal of Functional Programming (JFP)
Toward a Practical Module System for ACL2 [link ]
Carl Eastlund and Matthias Felleisen
Practical Aspects of Declarative Languages (PADL)
Making Induction Manifest in Modular ACL2 [link ]
Carl Eastlund, Matthias Felleisen
Principles and Practice of Declarative Programming (PPDP)
Future Contracts [link ]
Christos Dimoulas, Riccardo Pucella, Matthias Felleisen
Principles and Practice of Declarative Programming (PPDP)
Sequence Traces for Object-Oriented Executions [link ]
Carl Eastlund, Matthias Felleisen
Scheme and Functional Programming Workshop
Ryan Culpepper, Matthias Felleisen [link ]
Debugging Hygienic Macros
Science of Computer Programming
All-Terimation(T) [link ]
Panagiotis Manolios and Aaron Turon
TACAS
The Higher-Order Aggregate Update Problem [link ]
Christos Dimoulas and Mitchell Wand
Verification, Model Checking, and Abstract Interpretation (VMCAI)
2008
Variable-Arity Generic Interfaces [link ]
T. Stephen Strickland and Richard Cobbe and Matthias Felleisen
(tech report) Northeastern University College of Computer and Information Science no. NU-CCIS-08-01
A Compositional Trace Semantics for Orc [link ]
Dimitrios Vardoulakis and Mitchell Wand
COORDINATION
A Theory of Hygienic Macros [link ]
David Herman and Mitchell Wand
European Symposium on Programming (ESOP)
Functional Programming and Theorem Proving for Undergraduates: A Progress Report [link ]
Rex Page, Carl Eastlund, and Matthias Felleisen
Functional and Declarative Programming in Education (FDPE)
Trusted Theorem Proving: A Case Study in SLD-Resolution [link ]
Konstantine Arkoudas and Olin Shivers
ISoLA
Building language towers with Ziggurat [link ]
David Fisher and Olin Shivers
Journal of Functional Programming (JFP)
Exploiting reachability and cardinality in higher-order flow analysis [link ]
Matthew Might and Olin Shivers
Journal of Functional Programming (JFP)
Essentials of programming languages (3. ed.) [link ]
Daniel P. Friedman and Mitchell Wand
MIT Press
Much Ado about Nothing: Putting Java's Null in its Place [link ]
Richard Cobbe
PhD Dissertation, Northeastern University
The Design and Implementation of Typed Scheme [link ]
Sam Tobin-Hochstadt, Matthias Felleisen
Principles of Programming Languages (POPL)
Programming languages: fundamental concepts for expanding and disciplining the mind [link ]
Mitchell Wand and Daniel P. Friedman
SIGPLAN Notices
Why teach programming languages [link ]
Olin Shivers
SIGPLAN Notices
Haskell Session Types with (Almost) No Class [link ]
Riccardo Pucella and Jesse A. Tov
SIGPLAN Symposium on Haskell
Caml-Shcaml: An OCaml Library for Unix Shell Programming [link ]
Alec Heller and Jesse A. Tov
SIGPLAN workshop on ML
2007
ACL2 for Freshmen: First Experiences [link ]
Carl Eastlund, Dale Vaillancourt, Matthias Felleisen
ACL2 Workshop
Debugging Macros [link ]
Ryan Culpepper, Matthias Felleisen
Generative Programming: Concepts & Experience (GPCE)
On the correctness of the Krivine machine [link ]
Mitchell Wand
Higher-Order and Symbolic Computation
Implementation and Use of the PLT Scheme Web Server [link ]
Shriram Krishnamurthi, Peter Walton Hopkins, Jay McCarthy, Paul T. Graunke, Greg Pettyjohn, Matthias Felleisen
Higher-Order and Symbolic Computation
Adding Delimited and Composable Control to a Production Programming Environment [link ]
Matthew Flatt, Gang Yu, Robert Bruce Findler, Matthias Felleisen
International Conference on Functional Programming (ICFP)
Functional Pearl: The Great Escape. Or, How to Jump the Border Without Getting Caught [link ]
David Herman
International Conference on Functional Programming (ICFP)
Advanced Macrology and the Implementation of Typed Scheme [link ]
Ryan Culpepper, Sam Tobin-Hochstadt and Matthew Flatt
Scheme Workshop
Analyzing the environment structure of higher-order languages using frame strings [link ]
Matthew Might and Olin Shivers
Theoretical Computer Science
Space-Efficient Gradual Typing [link ]
David Herman, Aaron Tomb and Cormac Flanagan
Trends in Functional Programming (TFP)
Model Checking Via GammaCFA [link ]
Matthew Might, Benjamin Chambers, and Olin Shivers
Verification, Model Checking, and Abstract Interpretation (VMCAI)
Status Report: Specifying JavaScript with ML [link ]
David Herman and Cormac Flanagan
Workshop on ML
2006
Bisimulations for Untyped Imperative Objects [link ]
Vasileios Koutavas and Mitchell Wand
European Symposium on Programming (ESOP)
Improving flow analyses via GammaCFA: abstract garbage collection and counting [link ]
Matthew Might and Olin Shivers
International Conference on Functional Programming (ICFP)
Static analysis for syntax objects [link ]
David Fisher and Olin Shivers
International Conference on Functional Programming (ICFP)
Multi-return function call [link ]
Olin Shivers and David Fisher
Journal of Functional Programming (JFP)
Small bisimulations for reasoning about higher-order imperative programs [link ]
Vasileios Koutavas and Mitchell Wand
Principles of Programming Languages (POPL)
Environment analysis via Delta CFA [link ]
Matthew Might and Olin Shivers
Principles of Programming Languages (POPL)
Continuations and transducer composition [link ]
Olin Shivers and Matthew Might
Programming Language Design and Implementation (PLDI)
Linear combinations of radioactive decay models for generational garbage collection [link ]
William D. Clinger and Fabio V. Rojas
Science of Computer Programming
2005
Selectors Make Set-Based Analysis Too Hard [link ]
Philippe Meunier, Robert Bruce Findler, Paul Steckler, and Mitchell Wand
Higher-Order and Symbolic Computation
2004
Relating models of backtracking [link ]
Mitchell Wand and Dale Vaillancourt
International Conference on Functional Programming (ICFP)
A semantics for advice and dynamic join points in aspect-oriented programming [link ]
Mitchell Wand, Gregor Kiczales, and Christopher Dutchyn
Transactions on Programming Languages and Systems (TOPLAS)
2003
Understanding aspects: extended abstract [link ]
Mitchell Wand
International Conference on Functional Programming (ICFP)
CPS transformation of flow information [link ]
Jens Palsberg and Mitchell Wand
Journal of Functional Programming (JFP)
2002
A Modular, Extensible Proof Method for Small-Step Flow Analyses [link ]
Mitchell Wand and Galen B. Williamson
European Symposium on Programming (ESOP)
An experimental study of renewal-older-first garbage collection [link ]
Lars Thomas Hansen and William D. Clinger
International Conference on Functional Programming (ICFP)
Concurrent Remembered Set Refinement in Generational Garbage Collection [link ]
David Detlefs, Ross Knippel, William D. Clinger, and Matthias Jacob
Java Virtual Machine Research and Technology Symposium
2001
Set constraints for destructive array update optimization [link ]
Mitchell Wand and William D. Clinger
Journal of Functional Programming (JFP)
Essentials of programming languages (2. ed.) [link ]
Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes
MIT Press
A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming [link ]
Mitchell Wand
SAIG
2000
Analysis-based program transformations [link ]
Mitchell Wand
ACM SIGSOFT Software Engineering Notes
Optimizing memory usage in higher-order programming languages: theoretical and experimental studies [link ]
Mitchell Wand and William D. Clinger
ACM SIGSOFT Software Engineering Notes
1999
Implementation Strategies for First-Class Continuations [link ]
William D. Clinger, Anne Hartheimer, and Eric Ost
Higher-Order and Symbolic Computation
Continuation-Based Multiprocessing Revisited [link ]
Mitchell Wand
Higher-Order and Symbolic Computation
Continuation-Based Multiprocessing [link ]
Mitchell Wand
Higher-Order and Symbolic Computation
Trampolined Style [link ]
Steven E. Ganz, Daniel P. Friedman, and Mitchell Wand
International Conference on Functional Programming (ICFP)
A Language for Specifying Recursive Traversals of Object Structures [link ]
Johan Ovlinger and Mitchell Wand
Object-Oriented Programming Systems, Languages, and Applications (OOPSLA)
Constraint Systems for Useless Variable Elimination [link ]
Mitchell Wand and Igor Siveroni
Principles of Programming Languages (POPL)
1998
Revised Report on the Algorithmic Language Scheme [link ]
Harold Abelson, R. Kent Dybvig, Christopher T. Haynes, Guillermo Juan Rozas, N. I. Adams IV, Daniel P. Friedman, Eugene E. Kohlbecker, Guy L. Steele Jr., David H. Bartley, Robert H. Halstead Jr., Don Oxley, Gerald J. Sussman, G. Brooks, Chris Hanson, Kent M. Pitman, and Mitchell Wand
Higher-Order and Symbolic Computation
Set Constraints for Destructive Array Update Optimization [link ]
Mitchell Wand and William D. Clinger
ICCL
The Theory of Fexprs is Trivial [link ]
Mitchell Wand
Lisp and Symbolic Computation
Proper Tail Recursion and Space Efficiency [link ]
William D. Clinger
Programming Language Design and Implementation (PLDI)
1997
Type Inference with Non-Structural Subtyping [link ]
Jens Palsberg, Mitchell Wand, and Patrick O'Keefe
Formal Aspects of Computing
Denotational Semantics Using an Operationally-Based Term Model [link ]
Mitchell Wand and Gregory T. Sullivan
Principles of Programming Languages (POPL)
Generational Garbage Collection and the Radioactive Decay Model [link ]
William D. Clinger and Lars Thomas Hansen
Programming Language Design and Implementation (PLDI)
Lightweight Closure Conversion [link ]
Paul Steckler and Mitchell Wand
Transactions on Programming Languages and Systems (TOPLAS)
1996
Untyped Lambda-Calculus with Input-Output [link ]
Jerzy Tiuryn and Mitchell Wand
CAAP
Compiler Correctness for Concurrent Languages [link ]
David S. Gladstein and Mitchell Wand
COORDINATION
Modeling Subobject-based Inheritance [link ]
Jonathan G. Rossie Jr., Daniel P. Friedman, and Mitchell Wand
European Conference on Object-Oriented Programming (ECOOP)
1995
Compiler Correctness for Parallel Languages [link ]
Mitchell Wand
FPCA
VLISP: A Verified Implementation of Scheme [link ]
Joshua D. Guttman, John D. Ramsdell, and Mitchell Wand
Lisp and Symbolic Computation
The VLISP Verified PreScheme Compiler [link ]
Dino Oliva, John D. Ramsdell, and Mitchell Wand
Lisp and Symbolic Computation
Strong Normalization with Non-Structural Subtyping [link ]
Mitchell Wand, Patrick O'Keefe, and Jens Palsberg
Mathematical Structures in Computer Science
1994
Conditional Lambda-Theories and the Verification of Static Properties of Programs [link ]
Mitchell Wand and Zheng-Yu Wang
Information and Computation
Selective and Lightweight Closure Conversion [link ]
Mitchell Wand and Paul Steckler
Principles of Programming Languages (POPL)
Selective Thunkification [link ]
Paul Steckler and Mitchell Wand
SAS
1993
Specifying the Correctness of Binding-Time Analysis [link ]
Mitchell Wand
Journal of Functional Programming (JFP)
Specifying the Correctness of Binding-Time Analysis [link ]
Mitchell Wand
Principles of Programming Languages (POPL)
Type Reconstruction with Recursive Types and Atomic Subtyping [link ]
Jerzy Tiuryn and Mitchell Wand
TAPSOFT
1992
Type Inference for Partial Types is Decidable [link ]
Patrick O'Keefe and Mitchell Wand
European Symposium on Programming (ESOP)
Proving the Correctness of Storage Representations [link ]
Mitchell Wand and Dino Oliva
LISP and Functional Programming (LFP)
Essentials of programming languages [link ]
Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes
MIT Press
1991
Automatic Dimensional Inference [link ]
Mitchell Wand and Patrick O'Keefe
Computational Logic - Essays in Honor of Alan Robinson
Type Inference for Record Concatenation and Multiple Inheritance [link ]
Mitchell Wand
Information and Computation
Correctness of Procedure Representations in Higher-Order Assembly Language [link ]
Mitchell Wand
Mathematical Foundations of Programming Semantics (MFPS)
Correctness of Static Flow Analysis in Continuation Semantics [link ]
Margaret Montenyohl and Mitchell Wand
Science of Computer Programming
1990
A Short Proof of the Lexical Addressing Algorithm [link ]
Mitchell Wand
Information Processing Letters
Conditional Lambda-Theories and the Verification of Static Properties of Programs [link ]
Mitchell Wand and Zheng-Yu Wang
Logic in Computer Science (LICS)
1989
On the Complexity of Type Inference with Coercion [link ]
Mitchell Wand and Patrick O'Keefe
FPCA
Incorporating Static Analysis in a Combinator-Based Compiler [link ]
Margaret Montenyohl and Mitchell Wand
Information and Computation
Type Inference for Record Concatenation and Multiple Inheritance [link ]
Mitchell Wand
Logic in Computer Science (LICS)
1988
Abstract Continuations: A Mathematical Semantics for Handling Full Jumps [link ]
Matthias Felleisen, Mitchell Wand, Daniel P. Friedman, and Bruce F. Duba
LISP and Functional Programming (LFP)
The Mystery of the Tower Revealed: A Nonreflective Description of the Reflective Tower [link ]
Mitchell Wand and Daniel P. Friedman
Lisp and Symbolic Computation
Corrigendum: Complete Type Inference for Simple Objects [link ]
Mitchell Wand
Logic in Computer Science (LICS)
Correct Flow Analysis in Continuation Semantics [link ]
Margaret Montenyohl and Mitchell Wand
Principles of Programming Languages (POPL)
1987
Complete Type Inference for Simple Objects [link ]
Mitchell Wand
Logic in Computer Science (LICS)
Macro-by-Example: Deriving Syntactic Transformations from their Specifications [link ]
Eugene E. Kohlbecker and Mitchell Wand
Principles of Programming Languages (POPL)
Linear Future Semantics and Its Implementation [link ]
Stefan K and Mitchell Wand
Science of Computer Programming
1986
Obtaining Coroutines with Continuations [link ]
Christopher T. Haynes, Daniel P. Friedman, and Mitchell Wand
Computer Languages
The Mystery of the Tower Revealed: A Non-Reflective Description of the Reflective Tower [link ]
Mitchell Wand and Daniel P. Friedman
LISP and Functional Programming (LFP)
Finding the Source of Type Errors [link ]
Mitchell Wand
Principles of Programming Languages (POPL)
1985
Continuation Semantics in Typed Lambda-Calculi (Summary) [link ]
Albert R. Meyer and Mitchell Wand
Logic of Programs
Embedding Type Structure in Semantics [link ]
Mitchell Wand
Principles of Programming Languages (POPL)
From interpreter to compiler: a representational derivation [link ]
Mitchell Wand
Programs as Data Objects