Publications
Loop Rerolling for Hardware Decompilation
Zachary D. Sisco, Jonathan Balkind, Tim Sherwood, and Ben Hardekopf, ACM Conference on Programming Language Design and Implementation (PLDI), 2023Aliasing Limits on Translating C to Safe Rust
Mehmet Emre, Peter Boyland, Aesha Parekh, Ryan Schroeder, Kyle Dewey, and Ben Hardekopf, ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity, OOPSLA Research Papers Track (SPLASH/OOPSLA), 2023PyLSE: A Pulse-Transfer Level Language for Superconductor Electronics
Michael Christensen, Georgios Tzimpragos, Harlan Kringen, Jennifer Volk, Tim Sherwood, and Ben Hardekopf, ACM Conference on Programming Language Design and Implementation (PLDI), 2022Translating C to Safer Rust
Mehmet Emre, Ryan Schroeder, Kyle Dewey, and Ben Hardekopf, ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity, OOPSLA Research Papers Track (SPLASH/OOPSLA), 2021Translating C to Safer Rust (Supplementary Material)
Mehmet Emre, Ryan Schroeder, Kyle Dewey, and Ben Hardekopf, SPLASH/OOPSLA, 2021Wire Sorts: A Language Abstraction for Safe Hardware Composition
Michael Christensen, Tim Sherwood, Jonathan Balkind, and Ben Hardekopf, ACM Conference on Programming Language Design and Implementation (PLDI), 2021A Practical, Principled Measure of Fuzzer Appeal: a Preliminary Study
Miroslav Gavrilov, Kyle Dewey, Alex Groce, Davina Zamanzadeh, and Ben Hardekopf, International Conference on Software Quality, Reliability, and Security (QRS), 2020Safe Functional Systems Through Integrity Types and Verified Assembly
Michael Christensen, Joseph McMahan, Lawton Nichols, Jared Roesch, Timothy Sherwood, and Ben Hardekopf, Journal of Theoretical Computer Science, 2020Syntax-based Improvements to Plagiarism Detectors and their Evaluations
Lawton Nichols, Kyle Dewey, Mehmet Emre, Sitao Chen, and Ben Hardekopf, Conference on Innovation and Technology in Computer Science Education (ITiCSE), 2019Structural and Nominal Cross-Language Clone Detection
Lawton Nichols, Mehmet Emre, and Ben Hardekopf, International Conference on Fundamental Approaches to Software Engineering (FASE), 2019Fixpoint Reuse for Incremental JavaScript Analysis
Lawton Nichols, Mehmet Emre, and Ben Hardekopf, International Workshop on the State Of the Art in Program Analysis (SOAP), 2019Bouncer: Static Program Analysis in Hardware
Joseph McMahan, Michael Christensen, Kyle Dewey, Ben Hardekopf, and Timothy Sherwood, International Symposium of Computer Architecture (ISCA), 2019An Architecture for Analysis
Joseph McMahan, Michael Christensen, Lawton Nichols, Jared Roesch, Sung-Yee Guo, Ben Hardekopf, and Timothy Sherwood, IEEE Micro Top Picks, 2018An Architecture Supporting Formal and Compositional Binary Analysis
Joseph McMahan, Michael Christensen, Lawton Nichols, Jared Roesch, Sung-Yee Guo, Ben Hardekopf, and Timothy Sherwood, Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2017Server-Side Type Profiling for Optimizing Client-Side JavaScript Engines
Madhukar Kedlaya, Behnam Robatmili, and Ben Hardekopf, Dynamic Languages Symposium (DLS), 2015A Parallel Abstract Interpreter for JavaScript
Kyle Dewey, Vineeth Kashyap, and Ben Hardekopf, Symposium on Code Generation and Optimization (CGO), 2015Fuzzing the Rust Typechecker Using CLP
Kyle Dewey, Jared Roesch, and Ben Hardekopf, Conference on Automated Software Engineering (ASE), 2015Automated Data Structure Generation: Refuting Common Wisdom
Kyle Dewey, Lawton Nichols, and Ben Hardekopf, International Conference on Software Engineering (ICSE), 2015MuscalietJS: Rethinking Layered Dynamic Web Runtimes
Behnam Robatmili, Calin Cascaval, Mehrdad Reshadi, Madhukar N. Kedlaya, Seth Fowler, Michael Weber, and Ben Hardekopf, Conference on Virtual Execution Environments (VEE), 2014Sapper: A Language for Hardware-Level Security Policy Enforcement
Honorable Mention, IEEE Micro Top Picks 2015Xun Li, Vineeth Kashyap, Jason K. Oberg, Mohit Tiwari, Vasanth Ram Rajarathinam, Ryan Kastner, Timothy Sherwood, Ben Hardekopf, Frederic T. Chong, Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2014
Deoptimization for Dynamic Language JITs on Typed, Stack-based Virtual Machines
Madhukar N. Kedlaya, Behnam Robatmili, Calin Cascaval, and Ben Hardekopf, Conference on Virtual Execution Environments (VEE), 2014Security Signature Inference for JavaScript-based Browser Addons
Vineeth Kashyap and Ben Hardekopf, Symposium on Code Generation and Optimization (CGO), 2014JSAI: A Static Analysis Platform for JavaScript
Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, and Ben Hardekopf, Symposium on Foundations of Software Engineering (FSE), 2014Widening for Control-Flow
Ben Hardekopf, Ben Wiedermann, Berkeley Churchill, Vineeth Kashyap, Verification, Model Checking, and Abstract Interpretation (VMCAI), 2014Language Fuzzing Using Constraint Logic Programming
Kyle Dewey, Jared Roesch, and Ben Hardekopf, Conference on Automated Software Engineering (ASE), 2014Sapper: a Language for Provable Hardware Policy Enforcement
Xun Li, Vineeth Kashyap, Jason K. Oberg, Mohit Tiwari, Vasanth Ram Rajarathinam, Ryan Kastner, Timothy Sherwood, Ben Hardekopf, Frederic T. Chong, Workshop on Programming Languages and Analysis for Security (PLAS), 2013Improved Type Specialization for Dynamic Scripting Languages
Madhukar N. Kedlaya, Jared Roesch, Behnam Robatmili, Mehrdad Reshadi, Ben Hardekopf, Dynamic Languages Symposium (DLS), 2013Type Refinement for Static Analysis of JavaScript
Vineeth Kashyap, John Sarracino, John Wagner, Ben Wiedermann, Ben Hardekopf, Dynamic Languages Symposium (DLS), 2013String Abstractions for String Verification
Fang Yu, Tevfik Bultan, and Ben Hardekopf, International SPIN Workshop on Model Checking of Software (SPIN), 2011Crafting a Usable Microkernel, Processor, and I/O System with Strict and Provable Information Flow Security
Mohit Tiwari, Jason Oberg, Xun Li, Jonathan Valamehr, Timothy Levin, Ben Hardekopf, Frederic T Chong, Ryan Kastner, and Timothy Sherwood, International Symposium of Computer Architecture (ISCA), 2011Caisson: a Hardware Description Language for Secure Information Flow
Xun Li, Mohit Tiwari, Jason K. Oberg, Vineeth Kashyap, Fred Chong, Tim Sherwood, and Ben Hardekopf, ACM Conference on Programming Language Design and Implementation (PLDI), 2011Timing- and Termination-Sensitive Secure Information Flow: Exploring a New Approach
Vineeth Kashyap, Ben Wiedermann, and Ben Hardekopf, IEEE Security and Privacy (S&P), 2011Flow-Sensitive Pointer Analysis for Millions of Lines of Code
Best Paper Award; CGO'23 Test of Time AwardBen Hardekopf and Calvin Lin, Symposium on Code Generation and Optimization (CGO), 2011
Secure Information Flow Analysis for Hardware Design
Xun Li, Mohit Tiwari, Ben Hardekopf, Timothy Sherwood, and Frederic T Chong, Workshop on Programming Languages and Analysis for Security (PLAS), 2010Semi-Sparse Flow-Sensitive Pointer Analysis
Ben Hardekopf and Calvin Lin, Symposium on Principles of Programming Languages (POPL), 2009Exploiting Pointer and Location Equivalence to Optimize Pointer Analysis
Ben Hardekopf and Calvin Lin, International Static Analysis Symposium (SAS), 2007The Ant and the Grasshopper: Fast and Accurate Pointer Analysis for Millions of Lines of Code
Best Paper AwardBen Hardekopf and Calvin Lin, ACM Conference on Programming Language Design and Implementation (PLDI), 2007