Title
Decoupled lifeguards: enabling path optimizations for dynamic correctness checking tools
Abstract
Dynamic correctness checking tools (a.k.a. lifeguards) can detect a wide array of correctness issues, such as memory, security, and concurrency misbehavior, in unmodified executables at run time. However, lifeguards that are implemented using dynamic binary instrumentation (DBI) often slow down the monitored application by 10-50X, while proposals that replace DBI with hardware still see 3-8X slowdowns. The remaining overhead is the cost of performing the lifeguard analysis itself. In this paper, we explore compiler optimization techniques to reduce this overhead. The lifeguard software is typically structured as a set of event-driven handlers, where the events are individual instructions in the monitored application's dynamic instruction stream. We propose to decouple the lifeguard checking code from the application that it is monitoring so that the lifeguard analysis can be invoked at the granularity of hot paths in the monitored application. In this way, we are able to find many more opportunities for eliminating redundant work in the lifeguard analysis, even starting with well-optimized applications and hand-tuned lifeguard handlers. Experimental results with two lifeguard frameworks - one DBI-based and one hardware-assisted - show significant reduction in monitoring overhead.
Year
DOI
Venue
2010
10.1145/1806596.1806600
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Keywords
Field
DocType
code optimization,compiler optimization,dynamic program analysis
Program optimization,Programming language,Concurrency,Computer science,Correctness,Real-time computing,Optimizing compiler,Software,Reactive system,Dynamic program analysis,Embedded system,Executable
Conference
Volume
Issue
ISSN
45
6
0362-1340
Citations 
PageRank 
References 
13
0.52
23
Authors
4
Name
Order
Citations
PageRank
Olatunji Ruwase116714.40
Shimin Chen256029.44
Phillip B. Gibbons36863624.14
Todd C. Mowry43021253.75