Publication | Closed Access
iWatcher
120
Citations
44
References
2004
Year
Software MaintenanceEngineeringComputer ArchitectureSoftware EngineeringSoftware AnalysisHardware SecurityRun-time SoftwarechecksProgram ExecutionSystems EngineeringMinimal OverheadRuntime VerificationProfiling ToolComputer EngineeringComputer ScienceDebuggerStatic Program AnalysisRuntime SystemProgram AnalysisSoftware TestingSystem Software
Recent impressive performance improvements in computer architecturehave not led to significant gains in ease of debugging.Software debugging often relies on inserting run-time softwarechecks. In many cases, however, it is hard to find the root causeof a bug. Moreover, program execution typically slows down significantly,often by 10-100 times.To address this problem, this paper introduces the IntelligentWatcher (iWatcher), novel architectural support to monitor dynamicexecution with minimal overhead, automatically, and flexibly.iWatcher associates program-specified monitoring functionswith memory locations. When any such location is accessed, themonitoring function is automatically triggered with low overhead.To further reduce overhead and support rollback, iWatcher canleverage Thread-Level Speculation (TLS). To test iWatcher, we useapplications with various bugs. Our results show that iWatcher detectsmany more software bugs than Valgrind, a well-known open-sourcebug detector. Moreover, iWatcher only induces a 4-80%execution overhead, which is orders of magnitude less than Valgrind.Even with 20% of the dynamic loads monitored in a program,iWatcher adds only 66-174% overhead. Finally, TLS is effective atreducing overheads for programs with substantial monitoring.
| Year | Citations | |
|---|---|---|
Page 1
Page 1