Michael D. Bond

Assistant Professor
Computer Science & Engineering
Ohio State University

mikebond@cse.ohio-state.edu

697 Dreese Labs

My research group develops program analyses and software systems that make complex, concurrent software significantly more reliable, scalable, and secure than it is today. General interests: programming languages, software systems, runtime systems, program analysis, compilers, security.

Two awesome PhD students graduating this summer (2016):

Swarnendu Biswas is looking for a postdoc position starting in the fall, either in academia or at a research lab. See Swarnendu's web page for more info about him including his CV. Please contact him or me if you might be interested in working with him.

Minjia Zhang is looking for a full-time position in an industrial research lab starting in the fall. See Minjia's web page for more info about him including his CV. Please contact him or me if you might be interested in hiring him.

Current/upcoming course:

Autumn 2016: CSE 3341: Principles of Programming Languages

If you're on the wait list for a section of 3341 in Autumn 2016, please visit the course web page for more info.

News

Man Cao's paper on exposing weak memory model behaviors by "looking into the future" will appear at ISMM 2016!

Swarnendu Biswas received the CSE department's Graduate Research Award!

Minjia Zhang's paper on relaxed dependence tracking for parallel runtime support appeared at CC 2016!

Man Cao's paper on combining pessimistic and optimistic tracking of cross-thread dependences appeared at PPoPP 2016!

Swarnendu Biswas's paper on efficient data race exceptions received the OOPSLA 2015 Distinguished Paper Award!

Swarnendu Biswas's artifact for efficient data race exceptions received the OOPSLA 2015 Distinguished Artifact Award!

Swarnendu Biswas won 1st place at the OOPSLA 2015 Student Research Competition for his ongoing work on hardware cache coherence and consistency!

Minjia Zhang won 3rd place at the OOPSLA 2015 Student Research Competition for his ongoing work on snapshot isolation–based memory model enforcement!

Aritra Sengupta's paper on hybrid synchronization for enforcing region serializability and our paper on efficient deterministic replay appeared at PPPJ 2015!

Swarnendu Biswas and Jake Roemer won 1st and 2nd place, respectively, at the PLDI 2015 Student Research Competition!

Aritra Sengupta's paper on enforcing region serializability of statically bounded regions appeared at ASPLOS 2015!

Minjia Zhang's paper on software transactional memory appeared at PPoPP 2015!

Swarnendu Biswas's paper on efficient dynamic atomicity checking appeared at PLDI 2014!

Laminar (language and system support for decentralized information flow control) has been published in TOPLAS (November 2014)!

Current Students

Swarnendu Biswas  (PhD candidate)

Man Cao  (PhD candidate)

Jake Roemer  (PhD student)

Aritra Sengupta  (PhD candidate)

Minjia Zhang  (PhD candidate)

Rui Zhang  (PhD student)

Graduated Students

Jipeng Huang  (MS)

Refereed Publications

ISMM 2016 Prescient Memory: Exposing Weak Memory Model Behavior by Looking into the Future
Man Cao, Jake Roemer, Aritra Sengupta, and Michael D. Bond
CC 2016 Relaxed Dependence Tracking for Parallel Runtime Support
Minjia Zhang, Swarnendu Biswas, and Michael D. Bond
PPoPP 2016 Drinking from Both Glasses: Combining Pessimistic and Optimistic Tracking of Cross-Thread Dependences
Man Cao, Minjia Zhang, Aritra Sengupta, and Michael D. Bond
OOPSLA 2015 Valor: Efficient, Software-Only Region Conflict Exceptions
Swarnendu Biswas, Minjia Zhang, Michael D. Bond, and Brandon Lucia
PPPJ 2015 Efficient Deterministic Replay of Multithreaded Executions in a Managed Language Virtual Machine
Michael D. Bond, Milind Kulkarni, Man Cao, Meisam Fathi Salmi, and Jipeng Huang
PPPJ 2015 Toward Efficient Strong Memory Model Support for the Java Platform via Hybrid Synchronization
Aritra Sengupta, Man Cao, Michael D. Bond, and Milind Kulkarni
ASPLOS 2015 Hybrid Static–Dynamic Analysis for Statically Bounded Region Serializability
Aritra Sengupta, Swarnendu Biswas, Minjia Zhang, Michael D. Bond, and Milind Kulkarni
PPoPP 2015 Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics
Minjia Zhang, Jipeng Huang, Man Cao, and Michael D. Bond
PLDI 2014 DoubleChecker: Efficient Sound and Precise Atomicity Checking
Swarnendu Biswas, Jipeng Huang, Aritra Sengupta, and Michael D. Bond
TOPLAS (2014)   Practical Fine-Grained Information Flow Control Using Laminar
Donald E. Porter, Michael D. Bond, Indrajit Roy, Kathryn S. McKinley, and Emmett Witchel
WoDet 2014 Drinking from Both Glasses: Adaptively Combining Pessimistic and Optimistic Synchronization for Efficient Parallel Runtime Support
Man Cao, Minjia Zhang, and Michael D. Bond
OOPSLA 2013 Octet: Capturing and Controlling Cross-Thread Dependences Efficiently
Michael D. Bond, Milind Kulkarni, Man Cao, Minjia Zhang, Meisam Fathi Salmi, Swarnendu Biswas, Aritra Sengupta, and Jipeng Huang
OOPSLA 2013 Efficient Context Sensitivity for Dynamic Analyses via Calling Context Uptrees and Customized Memory Management
Jipeng Huang and Michael D. Bond
PLDI 2011 LeakChaser: Helping Programmers Narrow Down Causes of Memory Leaks
Guoqing "Harry" Xu, Michael D. Bond, Feng Qin, and Atanas Rountev
PLDI 2011 A Security Policy Oracle: Detecting Security Holes Using Multiple API Implementations
Varun Srivastava, Michael D. Bond, Kathryn S. McKinley, and Vitaly Shmatikov
PLDI 2010 Pacer: Proportional Detection of Data Races
Michael D. Bond, Katherine E. Coons, and Kathryn S. McKinley
PLDI 2010 Breadcrumbs: Efficient Context Sensitivity for Dynamic Bug Detection Analyses
Michael D. Bond, Graham Z. Baker, and Samuel Z. Guyer
PLAS 2010 Efficient, Context-Sensitive Detection of Real-World Semantic Attacks
Michael D. Bond, Varun Srivastava, Kathryn S. McKinley, and Vitaly Shmatikov
ASPLOS 2009 Leak Pruning
Michael D. Bond and Kathryn S. McKinley
PLDI 2009 Laminar: Practical Fine-Grained Decentralized Information Flow Control
Indrajit Roy, Donald E. Porter, Michael D. Bond, Kathryn S. McKinley, and Emmett Witchel
OOPSLA 2008 Tolerating Memory Leaks
Michael D. Bond and Kathryn S. McKinley
OOPSLA 2007 Probabilistic Calling Context
Michael D. Bond and Kathryn S. McKinley
OOPSLA 2007 Tracking Bad Apples: Reporting the Origin of Null and Undefined Value Errors
Michael D. Bond, Nicholas Nethercote, Stephen W. Kent, Samuel Z. Guyer, and Kathryn S. McKinley
CC 2007 Correcting the Dynamic Call Graph Using Control Flow Constraints
Byeongcheol Lee, Kevin Resnick, Michael D. Bond, and Kathryn S. McKinley
ASPLOS 2006 Bell: Bit-Encoding Online Memory Leak Detection
Michael D. Bond and Kathryn S. McKinley
MICRO 2005 Continuous Path and Edge Profiling
Michael D. Bond and Kathryn S. McKinley
CGO 2005 Practical Path Profiling for Dynamic Optimizers
Michael D. Bond and Kathryn S. McKinley
CGO 2004 Targeted Path Profiling: Lower Overhead Path Profiling for Staged Dynamic Optimization Systems
Rahul Joshi, Michael D. Bond, and Craig Zilles

Technical Report(s) and Dissertation

Tech report (2015) Lightweight Data Race Detection for Production Runs
Swarnendu Biswas, Minjia Zhang, and Michael D. Bond
Dissertation (2008)    Diagnosing and Tolerating Bugs in Deployed Systems
Michael David Bond

Software

The implementations from nearly all of my publications are publicly available. Other researchers have used several of these implementations in their publications. See papers for details.

Activities

Awards

Financial Support

Past Teaching

See the top of my web page for current/upcoming courses

Autumn 2015: CSE 3341: Principles of Programming Languages
Autumn 2015: CSE 5349: Parallelism in Modern Programming Language Implementations
Spring 2015: CSE 3341: Principles of Programming Languages
Autumn 2014: CSE 6341: Foundations of Programming Languages
Spring 2014: CSE 5349: Dynamic Program Analysis and Runtime Systems for Reliable Concurrent Software
Autumn 2013: CSE 6341: Foundations of Programming Languages
Spring 2013: CSE 3341: Principles of Programming Languages
Autumn 2012: CSE 6341: Foundations of Programming Languages
Spring 2012: CSE 755: Programming Languages
Autumn 2011: CSE 788.07: Dynamic Program Analysis and Runtime Systems for Reliable Concurrent Software
Spring 2011: CSE 888.07: Algorithms and Implementation Strategies for Efficient Dynamic Analysis for Deployed Concurrent Software
Winter 2011: CSE 788.07: Dynamic Program Analysis for Reliable Concurrent Software