Abstract
Coverage-based fault localization techniques assess the suspiciousness of program entities individually. However, the individual coverage information cannot reveal the execution paths and to some extent it simplifies the executions. In this paper, the control flow analysis is adopted to analyze the executions first. Second, the edge suspiciousness is used to calculate the failed executions distribution to different control flows. By comparing different failed executions distributions of blocks covered by the same failed execution path, we propose the bug proneness to quantify how each block contributes to the failure. Similarly, the bug free confidence is also proposed to represent the possibility of bug free for blocks covered by a passed execution path. At last, the weighted coverage information statistic is proceeded and the weighted coverage based fault localization technique is brought out. We conduct several experiments to compare our technique with an existing representative technique by using standard benchmarks and the results are promising.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Agrawal, H., Horgan, J., Lodon, S., Wong, W.: Fault Localization using Execution Slices and Dataflow Tests. In: 6th IEEE International Symposium on Software Reliability and Engineering, pp. 143–151. IEEE Press, Toulouse (1995)
Jones, J.A., Harrold, M.J.: Empirical evaluation of the Tarantula Automatic Fault-Localization Technique. In: 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 273–282. IEEE Computer Society Press, California (2005)
Santelices, R., Jones, J.A., Yu, Y., Harrold, M.J.: Lightweight Fault-Localization using Multiple Coverage Types. In: 31st Internation Conference on Software Engineering, pp. 56–66. IEEE Computer Society Press, Vancouver (2009)
Wong, E., Qi, Y.: Effective program debugging based on execution slices and inter-block data dependency. Journal of Systems and Software 79(2), 891–903 (2006)
Jiang, L., Su, Z.: Context-Aware Statistical Debugging: From Bug Predictors to Faulty Control Flow Paths. In: 22nd IEEE/ACM International Conference on Automated Software Engineering, pp. 184–193. IEEE Computer Society Press, Georgia (2007)
Zhang, Z., Chan, W.K., Tse, T.H.: Capturing Propagation of Infected Program States. In: The Joint 12th European Software Engineering Conference and 17th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 43–52. ACM Press, Amsterdam (2009)
Chilimbi, T., Liblit, B., Mehra, K., Nori, A., Vaswani, K.: HOLMES: Effective Statistical Debugging via Efficient Path Profiling. In: 31st Internation Conference on Software Engineering, pp. 34–44. IEEE Computer Society Press, Vancouver (2009)
Wang, X., Cheung, S.C., Chan, W.K., Zhang, Z.: Taming Coincidental Correctness: Refine Code Coverage with Context Pattern to Improve Fault Localization. In: 31st Internation Conference on Software Engineering, pp. 45–55. IEEE Computer Society Press, Vancouver (2009)
Do, H., Elbaum, S.G., Rothermel, G.: Supporting Controlled Experimentation with Testing Techniques: an Infrastructure and its Potential Impact. Empirical Software Engineering 10(4), 405–435 (2005)
Yu, Y., Jones, J.A., Harrold, M.J.: An Empirical Study of the Effects of Test-suite Reduction on Fault Localization. In: 30th Internation Conference on Software Engineering, pp. 201–210. IEEE Computer Society Press, Leipzig (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhao, L., Wang, L., Xiong, Z., Gao, D. (2010). Execution-Aware Fault Localization Based on the Control Flow Analysis. In: Zhu, R., Zhang, Y., Liu, B., Liu, C. (eds) Information Computing and Applications. ICICA 2010. Lecture Notes in Computer Science, vol 6377. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16167-4_21
Download citation
DOI: https://doi.org/10.1007/978-3-642-16167-4_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16166-7
Online ISBN: 978-3-642-16167-4
eBook Packages: Computer ScienceComputer Science (R0)