Publication | Closed Access
Watching for Software Inefficiencies with Witch
30
Citations
1
References
2018
Year
Unknown Venue
Software MaintenanceEngineeringComputer ArchitectureSoftware EngineeringLightweight FrameworkSoftware AnalysisPerformance IssueLayered SoftwareParallel ComputingMemory ManagementBuilt Atop WitchProfiling ToolComputer EngineeringComputer ScienceDebuggerPerformance Analysis ToolStatic Program AnalysisSoftware InefficienciesPerformance MonitoringProgram AnalysisSoftware TestingSystem Software
Inefficiencies abound in complex, layered software. A variety of inefficiencies show up as wasteful memory operations. Many existing tools instrument every load and store instruction to monitor memory, which significantly slows execution and consumes enormously extra memory. Our lightweight framework, Witch, samples consecutive accesses to the same memory location by exploiting two ubiquitous hardware features: the performance monitoring units (PMU) and debug registers. Witch performs no instrumentation. Hence, witchcraft---tools built atop Witch---can detect a variety of software inefficiencies while introducing negligible slowdown and insignificant memory consumption and yet maintaining accuracy comparable to exhaustive instrumentation tools. Witch allowed us to scale our analysis to a large number of code bases. Guided by witchcraft, we detected several performance problems in important code bases; eliminating these inefficiencies resulted in significant speedups.
| Year | Citations | |
|---|---|---|
Page 1
Page 1