|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
2009 IEEE/ACM International Conference on Automated Software Engineering
A Case for Automated Debugging Using Data Structure Repair
Auckland, New Zealand
November 16-November 20
ISBN: 978-0-7695-3891-4
| ASCII Text | x | ||
| Muhammad Zubair Malik, Khalid Ghori, Bassem Elkarablieh, Sarfraz Khurshid, "A Case for Automated Debugging Using Data Structure Repair," 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 620-624, 2009 IEEE/ACM International Conference on Automated Software Engineering, 2009. | |||
| BibTex | x | ||
| @article{ 10.1109/ASE.2009.92, author = {Muhammad Zubair Malik and Khalid Ghori and Bassem Elkarablieh and Sarfraz Khurshid}, title = {A Case for Automated Debugging Using Data Structure Repair}, journal ={2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011)}, volume = {0}, year = {2009}, issn = {1527-1366}, pages = {620-624}, doi = {http://doi.ieeecomputersociety.org/10.1109/ASE.2009.92}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011) TI - A Case for Automated Debugging Using Data Structure Repair SN - 1527-1366 SP620 EP624 A1 - Muhammad Zubair Malik, A1 - Khalid Ghori, A1 - Bassem Elkarablieh, A1 - Sarfraz Khurshid, PY - 2009 KW - Debugging KW - Data structure repair KW - Juzi KW - Korat VL - 0 JA - 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011) ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ASE.2009.92
Automated debugging is becoming increasingly important as the size and complexity of software increases. This paper makes a case for using constraint-based data structure repair, a recently developed technique for fault recovery, as a basis for automated debugging. Data structure repair uses given structural integrity constraints for key data structures to monitor their correctness during the execution of a program. If a constraint violation is detected, repair performs mutations on the data structures, i.e., corrupt program state, and transforms it into another state, which satisfies the desired constraints. The primary goal of data structure repair is to transform an erroneous state into an acceptable state. Therefore, the mutations performed by repair actions provide a basis of debugging faults in code (assuming the errors are due to bugs). A key challenge to embodying this insight into a mechanical technique arises due to the difference in the concrete level of the program states and the abstract level of the program code: repair actions apply to concrete data structures that exist at runtime, whereas debugging applies to code. We observe that static structures (program variables) hold handles to dynamic structures (heap-allocated data), which allows bridging the gap between the abstract and concrete levels. We envision a tool-chain where a data structure repair tool generates repair logs that are used by a fault localization tool and a repair abstraction tool that apply in synergy to not only identify the location of fault(s) in code but also to synthesize debugging suggestions. An embodiment of our vision can significantly reduce the cost of developing reliable software.
Index Terms:
Debugging, Data structure repair, Juzi, Korat
Citation:
Muhammad Zubair Malik, Khalid Ghori, Bassem Elkarablieh, Sarfraz Khurshid, "A Case for Automated Debugging Using Data Structure Repair," ase, pp.620-624, 2009 IEEE/ACM International Conference on Automated Software Engineering, 2009
Usage of this product signifies your acceptance of the Terms of Use.
