作者: Rajiv Gupta , Dennis Bernard Jeffrey
DOI:
关键词:
摘要: Software does not always behave as expected due to errors. These errors can potentially lead disastrous consequences. Unfortunately, debugging software be difficult and time-consuming. Many techniques automatically locate have been developed, but the results are far from ideal. Unlike other that analyze existing state information program executions, dynamic alteration modify of executions gain deeper insight into potential locations However, prior generally no more effective than techniques, come at expense increased computation time. This dissertation shows aggressive well-targeted both highly reasonably efficient. The Value Replacement technique performs alterations by replacing set values used in different statement instances failing executions. In a benchmarks, precisely identifies faulty 39 out 129 cases, whereas most previously known so 5 cases. generalized iteratively multiple A brute-force implementation require hours single error, developed reduce this timing requirement minutes errors. The Execution Suppression targeted memory suppressing (avoiding) effects statements involving corruption during The is able identify first point all analyzed benchmark programs; typically or close location error. multithreading including data races. While software-only suppression incurs an overhead 7.2x on average, reduced 1.8x using hardware support. Finally, machine learning called BugFix provides automated assistance modifying fix case study illustrates benefit technique.