Skip to main content

A Heuristic Test Data Generation Approach for Program Fault Localization

  • Conference paper
Artificial Intelligence and Computational Intelligence (AICI 2011)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 7002))

Abstract

The aim of this paper is to improve the reliability of programs by generating test cases considering different execution paths of the program. The method introduced in this paper assumes that only a single failing run is available for the program and applies a genetic algorithm which searches for the most similar failing and passing runs in terms of their executed predicates. By contrasting the similar passing and failing runs, the predicates that are different in two executions could be reported as fault relevant ones. We have also applied the k-means clustering technique to partition test cases according to their corresponding execution paths in order to ensure about the quality of software and locate the existing faults of the program. To evaluate the accuracy of the proposed method, we have conducted some case studies on a number of Siemens programs including different faulty versions. The results show the capability of the proposed method in generating a wide variety of test cases which could cover different program execution paths. The results also show the effectiveness of the approach in localizing faults according to detected fault relevant predicates.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.: SOBER: Statistical model-based bug localization. In: Proceedings of the 10th European Software Engineering Conference and 13th ACMSIGSOFT International Symposium on Foundations of Software Engineering, pp. 286–295. ACM Press, New York (2005)

    Google Scholar 

  2. Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 141–154. ACM Press, New York (2003)

    Google Scholar 

  3. Zhang, X., Gupta, R., Zhang, Y.: Precise dynamic slicing algorithms. In: IEEE/ACM International Conference on Software Engineering (ICSE), Portland, pp. 319–329 (2003)

    Google Scholar 

  4. Agrawal, H., De Millo, R., Spafford, E.: Debugging with dynamic slicing and backtracking. Software Practice and Experience (SP&E) 23(6), 589–616 (1993)

    Article  Google Scholar 

  5. Zeller, A.: Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann, San Francisco (2006)

    Google Scholar 

  6. Renieris, M., Reiss, S.: Fault localization with nearest neighbor queries. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering, pp. 30–39 (2003)

    Google Scholar 

  7. Mantere, T., Alander, J.T.: Evolutionary software engineering, a review. Journal of Applied Soft Computing Archive 5(3), 315–331 (2005)

    Article  Google Scholar 

  8. Software Infrastructure Repository, http://www.cse.unl.edu/_galileo/sir

  9. Lei, Y., Tai, K.: In-parameter-order: a test generation strategy for pairwise testing. In: Proceedings of the Third IEEE International High-Assurance Systems Engineering Symposium, Washington DC, pp. 254–261 (1998)

    Google Scholar 

  10. Korel, B.: Automated software test data generation. IEEE Transactions on Software Engineering (1990)

    Google Scholar 

  11. Pargas, R.P., Harrold, M.J., Robert, R.P.: Test-data generation using genetic algorithms. In: Software Testing, Verification and Reliability (1999)

    Google Scholar 

  12. Girgis, M.R.: Automatic test data generation for dataflow testing using genetic algorithm. Journal of Universal Computer Science 11(6), 898–915 (2005)

    Google Scholar 

  13. Singla, S., Singla, P., Rai, H.M.: An Automatic Test Data Generation for Data Flow Coverage Using Soft Computing Approach. International Journal of Research and Reviews in Computer Science (IJRRCS) 2 (2011)

    Google Scholar 

  14. Tan, P., Steinbach, M., Kumar, V.: Introduction to data mining. Pearson, Addison Wesley (2006)

    Google Scholar 

  15. Desikan, S., Ramesh, G.: Software testing Principles & Practices. Pearson Education, London (2007)

    Google Scholar 

  16. Ammann, P., Offutt, J.: Introduction to software testing. Cambridge University Press, Cambridge (2008)

    Book  Google Scholar 

  17. Sivanandam, S.N., Deepa, S.N.: Introduction to Genetic Algorithms. Springer, Heidelberg (2010)

    MATH  Google Scholar 

  18. Edvardsson, J.: A survey on automatic test data generation. In: Proceedings of the Second Conference on Computer Science and Engineering in Link, pp. 21–28 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Parsa, S., PorShokooh, H.R., Teymouri, S., Vahidi-Asl, M. (2011). A Heuristic Test Data Generation Approach for Program Fault Localization. In: Deng, H., Miao, D., Lei, J., Wang, F.L. (eds) Artificial Intelligence and Computational Intelligence. AICI 2011. Lecture Notes in Computer Science(), vol 7002. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23881-9_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23881-9_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23880-2

  • Online ISBN: 978-3-642-23881-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics