Skip to main content

Regression Testing of Bug-Fixes with AI Techniques

  • Conference paper
Practical Applications of Intelligent Systems

Part of the book series: Advances in Intelligent and Soft Computing ((AINSC,volume 124))

  • 2521 Accesses

Abstract

Regression testing is to check whether a new software version fails to preserve specification properties that its previous versions have preserved. It is needed when new version has been filed for fixing a previously reported bug. We present artificial intelligence (AI) techniques to enhance the accuracy of test selection in such a setting. The core technique of our regression testing is an adaptive fitness function that learns how to select test cases based on their similarity to the bug-revealing test cases. The evaluation of similarity between two test cases is in turn based on feature variables extracted with the LCS (longest common subsequences) algorithm. We implemented our techniques with a symbolic simulator of the models of the software under test. We also show how to take the capabilities of the simulator into consideration to learn for better testing performance. Experiment report shows the potentials of applying AI techniques to software verification.

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 389.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 499.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. Bäck, T., Schwefel, H.-P.: An overview of evolutionary algorithms for parameter optimization. Evolutionary computation 1(1), 1–24 (1993)

    Article  Google Scholar 

  2. Baresi, L., Young, M.: Test oracles. Technical Report CIS-TR-01-02, University of Oregon, Dept. of Computer and Information Science, Eugene, Oregon, U.S.A (August 2001), http://www.cs.uoregon.edu/~michal/pubs/oracles.html

  3. Beizer, B.: Software Testing Techniques, 2nd edn. Van Nostrand Reinhold, New York (1990)

    Google Scholar 

  4. Burch, J., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.: Symbolic model checking: 1020 states and beyond. In: IEEE LICS 1990 (1990)

    Google Scholar 

  5. Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press and McGraw-Hill (2001)

    Google Scholar 

  6. Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: a survey. Software Testing, Verification and Reliability 19(3), V215–V261 (2009)

    Article  Google Scholar 

  7. Godefroid, P.: Model checking for programming languages using verisoft. In: 24th ACM Symposium on Principles of Programming Languages (POPL), pp. 174–186 (1997)

    Google Scholar 

  8. Guyon, I., Elisseeff, A.: An introduction to variable and feature selection. Journal of Machine Learning Research 3, 1157–1182 (2003)

    MATH  Google Scholar 

  9. Kaner, C., Falk, J., Nguyen, H.Q.: Testing Computer Software, 2nd edn. John Wiley (1999)

    Google Scholar 

  10. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  11. Last, M., Kandel, A., Bunke, H.: Artificial intelligence methods in software testing. Machine Perception Artificial Intelligence, vol. 56. World Scientific Pub. (2004)

    Google Scholar 

  12. Lewis, D.D., Shapire, R.E., Callan, J.P., Rapka, R.: raining algorithm for linear text classifiers. In: 19th Annual International ACM SIGIR Conference on Research and Development in Information Retrival, pp. 298–306. ACM (1996)

    Google Scholar 

  13. Maier, D.: The complexity of some problems on subsequences and supersequences. Journal of ACM 25(2), 322–336 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  14. Miller, D.: Multiple-valued logic design tools, invited address. In: Proceedings of the 23rd International Symposium on Multiple-Valued Logic, pp. 2–11 (1993)

    Google Scholar 

  15. Mitchell, T.: Machine Learning. McGraw-Hill (1997)

    Google Scholar 

  16. Nilsson, N.: Artificial Intelligence: A New Synthesis. Morgan Kaufmann (1998)

    Google Scholar 

  17. Quinlan, J.R.: C4.5: Programs for machine learning. Morgan Kaufmann (1993)

    Google Scholar 

  18. Rocchio, J.J.: The SMART retrieval system: Experiments in automatic document processing. Prentice-Hall (1971)

    Google Scholar 

  19. Rothermel, G., Untch, R., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Trans. on Software Eng. 27(10), 929–948 (2001)

    Article  Google Scholar 

  20. Schach, S.: Software engineering, 7th edn. McGraw Hill (1992)

    Google Scholar 

  21. Srikanth, H.: Requirements-based test case prioritization. In: Student Research Forum in 12th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (2004)

    Google Scholar 

  22. Wang, F.: Efficient Verification of Timed Automata with BDD-like Data-Structures. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds.) VMCAI 2003. LNCS, vol. 2575, pp. 189–205. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Weyuker, E.J.: The evaluation of program-based software test data adequacy criteria. Comm. ACM 31, 668–675 (1988)

    Article  MathSciNet  Google Scholar 

  24. Widrow, B., Stearns, S.: Adaptive Signal Processing. Prentice-Hall (1985)

    Google Scholar 

  25. Xie, T., Notkin, D.: Checking inside the black box: Regression testing based on value spectra differences. In: 20th IEEE International Conference on Software Maintenance, ICSM 2004 (2004)

    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

Wang, F., Wu, C.J., Lee, YC., Yao, L.W. (2011). Regression Testing of Bug-Fixes with AI Techniques. In: Wang, Y., Li, T. (eds) Practical Applications of Intelligent Systems. Advances in Intelligent and Soft Computing, vol 124. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25658-5_43

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25658-5_43

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25657-8

  • Online ISBN: 978-3-642-25658-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics