RacerX: effective, static detection of race conditions and deadlocks
By Dawson R. Engler, Ken Ashcraft. Symposium on Operating Systems Principles, 2003
854 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computer Networks and Communications, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/626830042d7f9c801ba2c2806ed1c80b872b48a6
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
In Computer Networks and Communications
In Hardware and Architecture
Citations in the corpus
- Effective static race detection for Java (2006, background): “…and Subject Descriptors D.2.4 [Software Engineering]: Software/Program Veri.cation Reliability; D.2.5 [Software Engineering]: Testing and Debugging Debugging aids General Terms Experimentation, Reliability Keywords static race detection, Java, synchronization, concurrency, multi-threading 1.”
- CP-Miner: finding copy-paste and related bugs in large-scale software code (2006, background): “Index Terms—Software analysis, code reuse, code duplication, debugging aids, data mining.”
- Automating GUI testing for Android applications (2011, methodology): “First, we will model the correct invocation of certain I/O and concurrency primitives as state machines [21], which will allow us to compare application logs with the model and find I/O and concurrency errors.”
- /*icomment: bugs or bad comments?*/ (2007, background): “correctness) [12, 15, 23, 25, 37] are proposed to detect various types of software bugs.”
- KISS: keep it simple and sequential (2004, methodology): “Engler and Ashcraft [14] have developed a static tool RacerX based on interprocedural data.ow analysis to detect both race conditions and deadlocks.”
- Finding bugs is easy (2004, background): “RacerX [ 19 ] uses many of the same ideas as the MC system to find potential race conditions and deadlocks in C programs.”
- RELAY: static race detection on millions of lines of code (2007, background): “Furthermore, while some static race detection algorithms run on millions of lines of code [8], they are extremely unsound, and therefore miss many errors.”
- A Survey on Software Fault Localization (2016, neutral): “Tools such as Chord [262] and RacerX [106] can statically analyze a program to find concurrency bugs.”
- Learning from mistakes: a comprehensive study on real world concurrency bug characteristics (2008, neutral): “(1) Concurrency bug detection Most previous concurrency bug detection research has focused on detecting data race bugs [7, 10, 31,33,37,42] and deadlock bugs [3,10,37].”
- CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code (2004, methodology): “This bug is a semantic error, and therefore it cannot be easily detected by memory-related bug detection tools including static checkers [9, 14, 17, 32] or dynamic tools such as Purify [19], Valgrind [36], and CCured [12].”
- FastTrack: efficient and precise dynamic race detection (2009, background): “FASTTRACK is even comparable in speed to ERASER on our Java benchmarks, while never reporting false alarms.”
- A Survey of Symbolic Execution Techniques (2016, methodology): “nstruction, as they unroll loops only to a small number of iterations: their use in a symbolic execution setting may thus result in a loss of soundness. More fine-grained summaries are constructed in [44] by taking into account different input conditions using a summary cache for memoizing the effec”
- Race directed random testing of concurrent programs (2008, background): “Several static race detection techniques [49, 19, 39] based on lockset [43] have been proposed.”