Checking system rules using system-specific, programmer-written compiler extensions
By Dawson R. Engler, B. Chelf, Andy Chou, Seth Hallem. USENIX Symposium on Operating Systems Design and Implementation, 2000
613 citations recorded by the source corpus.
Subfields: Computational Theory and Mathematics, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/4abd326234e4a66278348fa5303f7e4b795af024
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computational Theory and Mathematics
- Shaz Qadeer
- Thomas W. Reps
- Gogul Balakrishnan
- Dawson R. Engler
- Dinghao Wu
- Thomas Ball
- William W. Pugh
- David Hovemeyer
In Hardware and Architecture
- David E. Culler
- Thomas Ball
- Shaz Qadeer
- Matt Welsh
- Sriram K. Rajamani
- Dinghao Wu
- Yuanyuan Zhou
- Thomas W. Reps
Citations in the corpus
- Enhancing Server Availability and Security Through Failure-Oblivious Computing (2004, methodology): “Examples of such analyses include Wagner [51], Engler [33], and Prefix [27].”
- Polyglot: An Extensible Compiler Framework for Java (2003, background): “A language might be extended to support annotations necessary for static verification of program correctness [24], more powerful static checking of program invariants [8, 12, 11], or heuristic methods [9].”
- WYSINWYX: What you see is not what you eXecute (2010, methodology): “To be able to apply analysis techniques like the ones used in [23, 41, 18, 12, 8, 4, 9, 25, 15], one already en counters a challenging program-analysis problem.”
- Automatic mining of source code repositories to improve bug finding techniques (2005, background): “There are a number of systems that provide a means to write code snippets that will be used to statically check code for one type of bug or another [9], [17].”
- Bugs as deviant behavior: a general approach to inferring errors in systems code (2001, methodology): “Compared to our previous work [9], these template checkers find ten to one hundred times more rule instances and derive properties we found impractical to specify manually.”
- Static analysis tools as early indicators of pre-release defect density (2005, background): “Static analysis tools for finding low-level programming errors are becoming more commonplace [6, 10, 1].”
- Enforcing high-level protocols in low-level software (2001, methodology): “use programmer written compiler extensions to check properties of code at compile time [5].”
- An empirical study of operating systems errors (2001, methodology): “The bugs that we examine were found in previous work, which used compiler extensions to automatically nd violations of system-speci c rules in kernel code [8].”
- Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications (2008, neutral): “In [5], Engler et al.”
- Design and Implementation of a TCG-based Integrity Measurement Architecture (2004, methodology): “This approach is motivated by the approach adopted by static analysis researchers in recent work [9].”
- Finding bugs is easy (2004, methodology): “MC has been used mainly to find bugs in operating system kernels [ 20 , 12, 4], although the general techniques it employs are applicable to any system.”
- Tracking down software bugs using automatic anomaly detection (2002, background): “Explicitly specifying known program invariants, usually with the goal of documenting the programs, or of checking the invariants dynamically or statically [4][5][6] is a tedious task.”
- A Factor Graph Model for Software Bug Finding (2007, background): “Static tools have achieved significant success in recent years, with research tools finding thousands of bugs in widely used open-source software such as the Linux kernel [Engler et al., 2000].”