Skip to main content

Structural Statistical Software Testing with Active Learning in a Graph

  • Conference paper
  • 577 Accesses

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

Abstract

Structural Statistical Software Testing (SSST) exploits the control flow graph of the program being tested to construct test cases. Specifically, SSST exploits the feasible paths in the control flow graph, that is, paths which are actually exerted for some values of the program input; the limitation is that feasible paths are massively outnumbered by infeasible ones. Addressing this limitation, this paper presents an active learning algorithm aimed at sampling the feasible paths in the control flow graph. The difficulty comes from both the few feasible paths initially available and the nature of the feasible path concept, reflecting the long-range dependencies among the nodes of the control flow graph. The proposed approach is based on a frugal representation inspired from Parikh maps, and on the identification of the conjunctive subconcepts in the feasible path concept within a Disjunctive Version Space framework. Experimental validation on real-world and artificial problems demonstrates significant improvements compared to the state of the art.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Rish, I., Das, R., Tesauro, G., Kephart, J.: ECML-PKDD Workshop Autonomic Computing: A new Challenge for Machine Learning (2006)

    Google Scholar 

  2. Bréhélin, L., Gascuel, O., Caraux, G.: Hidden Markov models with patterns to learn boolean vector sequences and application to the built-in self-test for integrated circuits. IEEE Transactions Pattern Analysis and Machine Intelligence 23(9), 997–1008 (2001)

    Article  Google Scholar 

  3. Baskiotis, N., Sebag, M., Gaudel, M.C., Gouraud, S.D.: Software testing: A machine learning approach. In: Proceedings of the 20th International Joint Conference on Artificial Intelligence, pp. 2274–2279 (2007)

    Google Scholar 

  4. Xiao, G., Southey, F., Holte, R.C., Wilkinson, D.F.: Software testing by active learning for commercial games. In: Proceedings of the 20th National Conference on Artificial Intelligence (AAAI), pp. 898–903 (2005)

    Google Scholar 

  5. Zheng, A.X., Jordan, M.I., Liblit, B., Naik, M., Aiken, A.: Statistical debugging: simultaneous identification of multiple bugs. In: Proceedings of the 23rd International Conference on Machine Learning, pp. 1105–1112 (2006)

    Google Scholar 

  6. Denise, A., Gaudel, M.C., Gouraud, S.D.: A generic method for statistical testing. In: Proceedings of the 15th International Symposium on Software Reliability Engineering, pp. 25–34 (2004)

    Google Scholar 

  7. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)

    MATH  Google Scholar 

  8. Dasgupta, S.: Coarse sample complexity bounds for active learning. Advances in Neural Information Processing Systems, 235–242 (2005)

    Google Scholar 

  9. Mitchell, T.: Generalization as search. Artificial Intelligence 18, 203–226 (1982)

    Article  MathSciNet  Google Scholar 

  10. Gouraud, S.D.: Statistical Software Testing based on Structural Combinatorics. In: PhD thesis, LRI, UniversitéParis-Sud (2004)

    Google Scholar 

  11. Flajolet, P., Zimmermann, P., Cutsem, B.V.: A calculus for the random generation of labelled combinatorial structures. Theoretical Computer Science 132(2), 1–35 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  12. Begleiter, R., El-Yaniv, R., Yona, G.: On prediction using variable order Markov models. Journal of Artificial Intelligence Research 22, 385–421 (2004)

    MATH  MathSciNet  Google Scholar 

  13. Fischer, E., Magniez, F., de Rougemont, M.: Approximate satisfiability and equivalence. In: 21th IEEE Symposium on Logic in Computer Science, pp. 421–430 (2006)

    Google Scholar 

  14. Auer, P., Cesa-Bianchi, N., Fischer, P.: Finite-time analysis of the multiarmed bandit problem. Machine Learning 47(2-3), 235–256 (2002)

    Article  MATH  Google Scholar 

  15. Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering 27(2), 99–123 (2001)

    Article  Google Scholar 

  16. Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Actively learning to verify safety for FIFO automata. In: Foundations of Software Technology and Theoretical Computer Science, pp. 494–505 (2004)

    Google Scholar 

  17. Moser, A., Krügel, C., Kirda, E.: Exploring multiple execution paths for malware analysis. In: IEEE Symposium on Security and Privacy, pp. 231–245 (2007)

    Google Scholar 

  18. Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R.: EXE: automatically generating inputs of death. In: ACM Conference on Computer and Communications Security, pp. 322–335 (2006)

    Google Scholar 

  19. Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 213–223 (2005)

    Google Scholar 

  20. Clark, A., Florencio, C.C., Watkins, C.: Languages as hyperplanes: Grammatical inference with string kernels. In: Proceedings of the 17th European Conference on Machine Learning, pp. 90–101 (2006)

    Google Scholar 

  21. Cohn, D.A., Ghahramani, Z., Jordan, M.I.: Active learning with statistical models. In: Advances in Neural Information Processing Systems, pp. 705–712. MIT Press, Cambridge (1995)

    Google Scholar 

  22. Yannakakis, M.: Testing, optimization, and games. In: Proceedings of the 31st International Colloquium on Automata, Languages and Programming, pp. 28–45 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hendrik Blockeel Jan Ramon Jude Shavlik Prasad Tadepalli

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Baskiotis, N., Sebag, M. (2008). Structural Statistical Software Testing with Active Learning in a Graph. In: Blockeel, H., Ramon, J., Shavlik, J., Tadepalli, P. (eds) Inductive Logic Programming. ILP 2007. Lecture Notes in Computer Science(), vol 4894. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78469-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78469-2_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78468-5

  • Online ISBN: 978-3-540-78469-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics