We won’t by any means read all these papers.
A Few Billion Lines of Code Later: Using static analysis to find bugs in the real world, Al Bessey, Ken Block, Ben Chelf, Andy Chou, Bryan Fulton, Seth Hallem, Charles Henri-Gros, Asya Kamsky, Scott McPeak, and Dawson Engler, Comm. ACM 53(2), Feb. 2010
Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, Dawson R. Engler, Benjamin Chelf, Andy Chou, Seth Hallem, Proc. OSDI 2000
Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code, Dawson R. Engler, David Yu Chen, Andy Chou, Proc. SOSP 2001
An Empirical Study of Operating System Errors, Andy Chou, Junfeng Yang, Benjamin Chelf, Seth Hallem, Dawson R. Engler, Proc. SOSP 2001 ** Linus’s comments on sparse vs. “the Stanford checker”
M 2/9 Practical, low-effort equivalence verification of real code, David A. Ramos and Dawson R. Engler, Proc. CAV ’11
PR-Miner: Automatically Extracting Implicit Programming Rules and Detecting Violations in Large Software Code, Zhenmin Li and Yuanyuan Zho, Proc. FSE ’05
Cause Reduction for Quick Testing, Alex Groce, Amin Alipour, Chaoqiang Zhang, Yang Chen, and John Regehr, Proc. ICST ’14
Taming Compiler Fuzzers, Yang Chen, Alex Groce, Chaoqiang Zhang, Weng-Keen Wong, Xiaoli Fern, Eric Eide, and John Regehr, Proc. PLDI 2013
Swarm Testing, Alex Groce, Chaoqiang Zhang, Eric Eide, Yang Chen, and John Regehr, Proc. ISSTA 2012
Help, Help, I’m Being Suppressed! The significance of suppressors in software testing, Alex Groce, Chaoqiang Zhang, Mohammad Amin Alipour, Eric Eide, Yang Chen, and John Regehr, Proc. ISSRE ’13
Scaling up automated test generation: Automatically generating maintainable regression unit tests for programs, Brian Robinson, Michael D. Ernst, Jeff H. Perkins, Vinay Augustine, and Nuo Li, Proc. ASE 2011
Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit-State Model Checking, Shay Artzi, Adam Kiezun, Julian Dolby, Frank Tip, Danny Dig, Amit Paradkar, and Michael D. Ernst, IEEE Trans. Soft. Eng. 36(4), July/Aug. 2010
The Daikon system for dynamic detection of likely invariants, Michael D. Ernst, Jeff H. Perkins, Philip J. Guo, Stephen McCamant, Carlos Pacheco, Matthew S. Tschantz, and Chen Xiao, Science of Computer Programming 69(1–3), Dec. 2007
Execution Synthesis: A Technique for Automated Software Debugging, Cristian Zamfir and George Candea, Proc. EuroSys ’10
Using Test Case Reduction and Prioritization to Improve Symbolic Execution, Chaoqiang Zhang, Alex Groce, and Mohammad Amin Alipour, Proc. ISSTA ’14
Interface Contracts for TinyOS, Will Archer, Philip Levis, and John Regehr, Proc. IPSN ’07
Case Studies and Tools for Contract Specifications, Todd W. Schiller, Kellen Donohue, Forrest Coward, Michael D. Ernst, Proc. ICSE ’14
Crash-Only Software, George Candea and Armando Fox, Proc. HotOS IX
Microreboot – A Technique for Cheap Recovery, George Candea, Shinichi Kawamoto, Yuichi Fujiki, Greg Friedman, Armando Fox, Proc. OSDI ’04
From L3 to seL4: What have we learnt in 20 years of microkernels?, Kevin Elphinstone and Gernot Heiser, Proc. SOSP ’13
The Design and Implementation of Microdrivers, Vinod Ganapathy, Matthew J. Renzelmann, Arini Balakrishnan, Michael M. Swift, and Somesh Jha, Proc. ASPLOS ’08
Improving the Reliability of Commodity Operating Systems, Michael M. Swift, Brian N. Bershad, and Henry M. Levy, Proc. SOSP 2003
Decaf: Moving Device Drivers to a Modern Language, Matthew J. Renzelmann and Michael M. Swift, Proc. USENIX ATC 2009
Rx: Treating Bugs As Allergies—A Safe Method to Survive Software Failures, Feng Qin, Joseph Tucek, Jagadeesan Sundaresan, and Yuanyuan Zhou, Proc. SOSP ’05 ** Journal version, ACM Trans. Comp. Sys 25(3), Aug. 2007
Building Secure High-Performance Web Services with OKWS, Maxwell Krohn, Proc. USENIX ATC 2004
Mace: Language Support for Building Distributed Systems, Charles Killian, James Anderson, Ryan Braud, Ranjit Jhala, and Amin Vahdat, Proc. PLDI 2007
Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code, Charles Killian, James Anderson, Ranjit Jhala, and Amin Vahdat, Proc. NSDI 2007
MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean and Sanjay Ghemawat, Proc. OSDI 2004