|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
37th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'04)
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants
Portland,Oregon
December 04-December 08
ISBN: 0-7695-2126-6
| ASCII Text | x | ||
| Pin Zhou, Wei Liu, Long Fei, Shan Lu, Feng Qin, Yuanyuan Zhou, Samuel Midkiff, Josep Torrellas, "AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants," 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 269-280, 37th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'04), 2004. | |||
| BibTex | x | ||
| @article{ 10.1109/MICRO.2004.3, author = {Pin Zhou and Wei Liu and Long Fei and Shan Lu and Feng Qin and Yuanyuan Zhou and Samuel Midkiff and Josep Torrellas}, title = {AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants}, journal ={2012 45th Annual IEEE/ACM International Symposium on Microarchitecture}, volume = {0}, year = {2004}, issn = {1072-4451}, pages = {269-280}, doi = {http://doi.ieeecomputersociety.org/10.1109/MICRO.2004.3}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture TI - AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants SN - 1072-4451 SP269 EP280 A1 - Pin Zhou, A1 - Wei Liu, A1 - Long Fei, A1 - Shan Lu, A1 - Feng Qin, A1 - Yuanyuan Zhou, A1 - Samuel Midkiff, A1 - Josep Torrellas, PY - 2004 KW - null VL - 0 JA - 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MICRO.2004.3
This paper makes two contributions to architectural support for software debugging. First, it proposes a novel statistics-based, on-the-fly bug detection method called PC-based invariant detection. The idea is based on the observation that, in most programs, a given memory location is typically accessed by only a few instructions. Therefore, by capturing the invariant of the set of PCs that normally access a given variable, we can detect accesses by outlier instructions, which are often caused by memory corruption, buffer overflow, stack smashing or other memory-related bugs. Since this method is statistics-based, it can detect bugs that do not violate any programming rules and that, therefore, are likely to be missed by many existing tools. The second contribution is a novel architectural extension called the Check Look-aside Buffer (CLB). The CLB uses a Bloom filter to reduce monitoring overheads in the recently-proposed iWatcher architectural framework for software debugging. The CLB significantly reduces the overhead of PC-based invariant debugging. We demonstrate a PC-based invariant detection tool called AccMon that leverages architectural, run-time system and compiler support. Our experimental results with seven buggy applications and a total of ten bugs, show that AccMon can detect all ten bugs with few false alarms (0 for five applications and 2-8 for two applications) and with low overhead (0.24-2.88 times). Several existing tools evaluated, including Purify, CCured and value-based invariant detection tools, fail to detect some of the bugs. In addition, Purify's overhead is one order of magnitude higher than AccMon's. Finally, we show that the CLB is very effective at reducing overhead.
Citation:
Pin Zhou, Wei Liu, Long Fei, Shan Lu, Feng Qin, Yuanyuan Zhou, Samuel Midkiff, Josep Torrellas, "AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants," micro, pp.269-280, 37th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.
