Enabling and supporting the debugging of software failures

作者: 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

参考文章(77)
Srikanth Kandula, Yuanyuan Zhou, Sudarshan M. Srinivasan, Christopher R. Andrews, Flashback: a lightweight extension for rollback and deterministic replay for software debugging usenix annual technical conference. pp. 3- 3 ,(2004)
Bruno Dutertre, Leonardo de Moura, The YICES SMT Solver ,(2006)
Julian Seward, Nicholas Nethercote, Using Valgrind to detect undefined value errors with bit-precision usenix annual technical conference. pp. 2- 2 ,(2005)
Zhiqiang Yang, Sheng Zhong, Rebecca N. Wright, Privacy-Preserving Queries on Encrypted Data Computer Security – ESORICS 2006. pp. 479- 495 ,(2006) , 10.1007/11863908_29
Wenliang Du, M.J. Atallah, Privacy-preserving cooperative statistical analysis annual computer security applications conference. pp. 102- 110 ,(2001) , 10.1109/ACSAC.2001.991526
George W. Dunlap, Peter M. Chen, Samuel T. King, Debugging operating systems with time-traveling virtual machines usenix annual technical conference. pp. 1- 1 ,(2005)
Naveen Sastry, Pete Broadwell, Matt Harren, Scrash: a system for generating secure crash information usenix security symposium. pp. 19- 19 ,(2003)
Rui Wang, Zhuowei Li, XiaoFeng Wang, Panalyst: privacy-aware remote error analysis on commodity software usenix security symposium. pp. 291- 306 ,(2008)
Cristian Cadar, Daniel Dunbar, Dawson Engler, KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs operating systems design and implementation. pp. 209- 224 ,(2008) , 10.5555/1855741.1855756
Alex Groce, Daniel Kroening, Flavio Lerda, Understanding Counterexamples with explain Computer Aided Verification. pp. 453- 456 ,(2004) , 10.1007/978-3-540-27813-9_35