作者: Alessandro Orso , James Alexander Clause
DOI:
关键词:
摘要: Debugging is an expensive activity that can be responsible for a significant part of the cost software maintenance. This especially true today's software, whose complexity, configurability, portability, and dynamism exacerbate debugging challenges. Therefore, techniques improving efficiency effectiveness extremely beneficial in reducing overall development and, at same time, quality. In last few years, there has been great deal research aimed developing support automated or semi-automated debugging. These novel have greatly contributed to collective body knowledge advanced state art. However, additional leap forward must taken approaches effective when applied real-life scenarios. Most current suffer from several limitations, including assumption developers are able reliably easily reproduce targeted failure examining faulty statement isolation always enough developer detect, understand, fix corresponding bug. This dissertation evaluates following thesis statement: Program analysis enable failures widely-used applications by (1) capturing, replaying, as much possible, anonymizing failing executions (2) highlighting subsets failure-inducing inputs likely helpful such failures. To investigate this thesis, I developed recording, minimizing, replaying captured users' machines, execution recordings, automatically identifying failure-relevant inputs. then performed experiments evaluate realistic scenarios using real The results these demonstrate reduce difficulty