skip to main content
10.1145/2970276.2970364acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
short-paper

Symbolic execution of complex program driven by machine learning based constraint solving

Published:25 August 2016Publication History

ABSTRACT

Symbolic execution is a widely-used program analysis technique. It collects and solves path conditions to guide the program traversing. However, due to the limitation of the current constraint solvers, it is difficult to apply symbolic execution on programs with complex path conditions, like nonlinear constraints and function calls. In this paper, we propose a new symbolic execution tool MLB to handle such problem. Instead of relying on the classical constraint solving, in MLB, the feasibility problems of the path conditions are transformed into optimization problems, by minimizing some dissatisfaction degree. The optimization problems are then handled by the underlying optimization solver through machine learning guided sampling and validation. MLB is implemented on the basis of Symbolic PathFinder and encodes not only the simple linear path conditions, but also nonlinear arithmetic operations, and even black-box function calls of library methods, into symbolic path conditions. Experiment results show that MLB can achieve much better coverage on complex real-world programs.

References

  1. Barr, E. T., Vo, T., Le, V., and Su, Z. Automatic detection of floating-point exceptions. ACM SIGPLAN Notices 48, 1 (2013), 549–560. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Beyer, H., and Schwefel, H. Evolution strategies - A comprehensive introduction. Natural Computing 1, 1 (2002), 3–52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Boyer, R. S., Elspas, B., and Levitt, K. N. SELECT-a formal system for testing and debugging programs by symbolic execution. ACM SigPlan Notices 10, 6 (1975), 234–245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cadar, C., Dunbar, D., Engler, D. R., et al. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In OSDI (2008), vol. 8, pp. 209–224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cadar, C., Godefroid, P., Khurshid, S., Păsăreanu, C. S., Sen, K., Tillmann, N., and Visser, W. Symbolic execution for software testing in practice: preliminary assessment. In ICSE (2011), ACM, pp. 1066–1071. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. De Moura, L., and Rner, N. Z3: an efficient SMT solver. In Theory and Practice of Software, TACAS (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dinges, P., and Agha, G. Solving complex path conditions through heuristic search on induced polytopes. In FSE (2014), ACM, pp. 425–436. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Franzle, M., Herde, C., Teige, T., Ratschan, S., and Schubert, T. Efficient solving of large non-linear arithmetic constraint systems with complex boolean structure. Journal on Satisfiability, Boolean Modeling and Computation 1 (2007), 209–236.Google ScholarGoogle ScholarCross RefCross Ref
  9. Galeotti, J. P., Fraser, G., and Arcuri, A. Improving search-based test suite generation with dynamic symbolic execution. In ISSRE (2013), IEEE, pp. 360–369.Google ScholarGoogle ScholarCross RefCross Ref
  10. Gies, D., and Rahmat-samii, Y. Particle swarm optimization (PSO) for reflector antenna shaping. In APS/URSI (2004), vol. 3, IEEE, pp. 2289–2292.Google ScholarGoogle ScholarCross RefCross Ref
  11. Glover, F. Tabu search: A tutorial. Interfaces 20, 4 (1990), 74–94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Goldberg, D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading, MA, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Havelund, K., and Pressburger, T. Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, 4 (2000), 366–381.Google ScholarGoogle ScholarCross RefCross Ref
  14. Kennedy, J., and Eberhart, R. Swarm Intelligence. Morgan Kaufmann, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kirkpatrick, S., Gelatt Jr, C. D., and Vecchi, M. P. Optimization by simulated annealing. Science 220, 4598 (1983), 671–680.Google ScholarGoogle ScholarCross RefCross Ref
  16. Păsăreanu, C. S., and Rungta, N. Symbolic PathFinder: symbolic execution of Java bytecode. In ASE (2010), ACM, pp. 179–180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Păsăreanu, C. S., Rungta, N., and Visser, W. Symbolic execution with mixed concrete-symbolic solving. In ISSTA (2011), ACM, pp. 34–44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Păsăreanu, C. S., Visser, W., Bushnell, D., Geldenhuys, J., Mehlitz, P., and Rungta, N. Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis. Automated Software Engineering 20, 3 (2013), 391–425.Google ScholarGoogle ScholarCross RefCross Ref
  19. Press, W. H. Numerical recipes 3rd edition: The art of scientific computing. Cambridge university press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Qian, H., and Yu, Y. On sampling-and-classification optimization in discrete domains. In CEC (2016).Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sen, K. Concolic testing. In ASE (2007), ACM, pp. 571–572. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sen, K., and Agha, G. CUTE and jCUTE: Concolic unit testing and explicit path model-checking tools. In Computer Aided Verification (2006), Springer, pp. 419–423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Shafiei, N., and Breugel, F. v. Automatic handling of native methods in Java PathFinder. In SPIN (2014), ACM, pp. 97–100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Souza, M., Borges, M., d’Amorim, M., and Păsăreanu, C. S. CORAL: solving complex constraints for Symbolic PathFinder. In NASA Formal Methods. Springer, 2011, pp. 359–374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Tillmann, N., and De Halleux, J. Pex–white box test generation for. net. In Tests and Proofs. Springer, 2008, pp. 134–153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Yu, Y., Qian, H., and Hu, Y.-Q. Derivative-free optimization via classification. In AAAI (2016), pp. 2286–2292.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Symbolic execution of complex program driven by machine learning based constraint solving

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
      August 2016
      899 pages
      ISBN:9781450338455
      DOI:10.1145/2970276
      • General Chair:
      • David Lo,
      • Program Chairs:
      • Sven Apel,
      • Sarfraz Khurshid

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 25 August 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper

      Acceptance Rates

      Overall Acceptance Rate82of337submissions,24%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader