[Google Scholar] [ACM DL] [DBLP]
I am interested in pushing the difficult or tedious tasks involved with software development onto computers. Whether finding or explaining bugs, generating effective tests, identifying potential optimization opportunities, or some other task, people have difficulty with the subtle and repetitive behaviors required for maintaining high quality software. By automating these subtle tasks, we can improve both the lives of developers and the quality of the software they produce.
I am particularly interested in dynamic program analyses that facilitate debugging in both sequential and concurrent settings. Links below lead to abstracts, slides, bibtex entries, PDFs for papers, and any additional resources relevant for a paper.
Avoiding the Familiar to Speed Up Test Case Reduction
QRS 2018, 19%=33/171
Golnaz Gharachorlu and Nick Sumner
NACHOS: Software-Driven Hardware-Assisted Memory Disambiguation for Accelerators
HPCA 2018, 21%=54/260
Naveen Vedula, Arrvindh Shriraman, Snehasish Kumar, and Nick Sumner
SPEC-AX and PARSEC-AX: Extracting Accelerator Benchmarks from Microprocessor Benchmarks
IISWC 2016, 30.4%=21/69
Snehasish Kumar, William N. Sumner, and Arrvindh Shriraman
Peruse And Profit: Estimating The Accelerability Of Loops
ICS 2016, 24%=43/178
Snehasish Kumar, Vijayalakshmi Srinivasan, Amirali Sharifian, Nick Sumner, and Arrvindh Shriraman
LDX: Causality Inference by Lightweight Dual Execution
ASPLOS 2016, 19%=53/240
Yonghwi Kwon, Dohyeong Kim, William N. Sumner, Kyungtae Kim, Brendan Saltaformaggio, Xiangyu Zhang, and Dongyan Xu
Identifying Execution Points For Dynamic Analyses
ASE 2013, 23%=74/317
William N. Sumner and Xiangyu Zhang
DRIP: A Framework for Purifying Trojaned Kernel Drivers
DSN 2013, 22%=25/113
Zhongshu Gu, William N. Sumner, Zhui Deng, Xiangyu Zhang, and Dongyan Xu
Comparative Causality: Explaining The Differences Between Executions
ICSE 2013, 18.5%=85/461
William N. Sumner and Xiangyu Zhang
Marathon: Detecting Atomic Set Serializability Violations With Conflict Graphs
RV 2011, 42%=22/?
William N. Sumner, Christian Hammer, and Julian Dolby
Selecting Peers For Execution Comparison
ISSTA 2011, 29%=35/121
William N. Sumner, Tao Bao, and Xiangyu Zhang
Unified Debugging Of Distributed Systems With Recon
DSN 2011, 18%=26/148
Kyu Hyung Lee, William N. Sumner, Xiangyu Zhang, and Patrick Eugster
Toward Generating Reducible Replay Logs
PLDI 2011, 23%=55/236
Kyu Hyung Lee, Yunhui Zheng, William N. Sumner, and Xiangyu Zhang
Coalescing Executions For Fast Uncertainty Analysis
ICSE 2011, 14%=62/441
William N. Sumner, Tao Bao, Xiangyu Zhang, and Sunil Prabhakar
Memory Indexing: Canonicalizing Addresses Across Executions
FSE 2010, 20%=34/169
William N. Sumner and Xiangyu Zhang
Analyzing Concurrency Bugs Using Dual Slicing
ISSTA 2010, 23%=24/105
Dasarath Weeratunge, Xiangyu Zhang, William N. Sumner, and Suresh Jagannathan
Precise Calling Context Encoding
ICSE 2010, 14%=52/380
William N. Sumner, Yunhui Zheng, Dasarath Weeratunge, and Xiangyu Zhang