学位论文详细信息
Hardware Mechanisms for Distributed Dynamic Software Analysis.
Dynamic Software Analysis;Data Race Detection;Watchpoints;Distributed Software Analysis;Computer Science;Engineering;Computer Science & Engineering
Greathouse, Joseph LeeMahlke, Scott ;
University of Michigan
关键词: Dynamic Software Analysis;    Data Race Detection;    Watchpoints;    Distributed Software Analysis;    Computer Science;    Engineering;    Computer Science & Engineering;   
Others  :  https://deepblue.lib.umich.edu/bitstream/handle/2027.42/93851/jlgreath_1.pdf?sequence=1&isAllowed=y
瑞士|英语
来源: The Illinois Digital Environment for Access to Learning and Scholarship
PDF
【 摘 要 】

The complexity of modern software makes it difficult to ship correct programs. Errors can cost money and lives, so developers often use automated software analysis tools to hunt for bugs. By automatically analyzing a program;;s runtime operation, dynamic analysis tools can find subtle errors that would normally escape the notice of even careful human testers.These dynamic analyses are more likely to find errors if they observe the program under numerous and varied runtime situations, so, ideally, users would analyze programs as they run them. Regrettably, these tests cause orders-of-magnitude slowdowns, which few users would tolerate.This dissertation presents methods of accelerating dynamic software analyses in order to distribute these trials to users. It begins by observing that the overhead that any individual observes can be lowered by allowing each user to analyze a small, random sample of the program;;s operations. It then describes a sampling mechanism for dynamic dataflow analyses that only requires access to the virtual memory system.Other dynamic software analyses cannot use this technique, so the remainder of this dissertation focuses on novel hardware-based acceleration mechanisms. The first, Testudo, allows faster and more accurate dataflow analysis sampling by storing meta-data in an on-chip cache and stochastically removing these values whenever it overflows.Next, a method for performing demand-driven data race detection using existing hardware performance counters is detailed. These counters make inter-cache sharing events visible to software, allowing the data race detector to be enabled only when needed.Finally, fine-grained memory monitoring is a crucial for every analysis studied in this work. This dissertation closes by examining a hardware mechanism for allowing unlimited fine-grained watchpoints, which can be used to reduce the overheads of many analyses.In total, this dissertation demonstrates that hardware designers can play a role in mitigating software bugs, as many of the acceleration mechanisms explored in this work require hardware support in one form or another. Taken together, these works represent a step forward for accelerating dynamic software analyses and distributing them to end-users.

【 预 览 】
附件列表
Files Size Format View
Hardware Mechanisms for Distributed Dynamic Software Analysis. 3391KB PDF download
  文献评价指标  
  下载次数:26次 浏览次数:22次