A Novel Approach to Bug Localization using Call Graph Reduction - Singh, Prabhdeep (My University, 2012)
Testing the software is the process of validating and verifying a software program. Every software is expected to meet certain needs so, when software is developed major requirement is to check whether it fulfills those needs or not. Bug localization is an important part of software development and elimination of bugs from the software depends upon how much efficiently testing is done on the software.Automated solutions for bug localizations aim to reduce human effort and software maintenance cost. One of the techniques for automating bug localization is usage of call graph and the one of the waysto utilize call graphs of program executions in graph mining is by applying various algorithms to fix such problem. Since size of the call graph generated is quite large, researchers have proposed various techniques and methods for call graph reduction. An algorithm is proposed for the call graph reduction which uses call graph frequency to store the information of the each weight of the node and matrix to store the information about the node. It has been experimentally depicted that the applied algorithm reduces the size of the call graph without changing the basic structure without any loss of information. Once the graph is generated from the source code,it is stored in the matrix and reduced appropriately using call graph frequency. After call graph reduction various graph mining techniques can be applied to localize the bug.The proposed algorithm is compared to another call graph reduction techniques and it has been experimentally evaluated that the proposed algorithm significantly reduces the graph and make it efficient for bug localization. The output generated using the proposed methodology shows promising results.
Keywords: Call Graph; Bug Localization