Advertisement

CORAL: Solving Complex Constraints for Symbolic PathFinder

  • Matheus Souza
  • Mateus Borges
  • Marcelo d’Amorim
  • Corina S. Păsăreanu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6617)

Abstract

Symbolic execution is a powerful automated technique for generating test cases. Its goal is to achieve high coverage of software. One major obstacle in adopting the technique in practice is its inability to handle complex mathematical constraints. To address the problem, we have integrated CORAL’s heuristic solvers into NASA Ames’ Symbolic PathFinder symbolic execution tool. CORAL’s solvers have been designed to deal with mathematical constraints and their heuristics have been improved based on examples from the aerospace domain. This integration significantly broadens the application of Symbolic PathFinder at NASA and in industry.

Keywords

Candidate Solution Decision Procedure Boolean Expression Path Condition Symbolic Execution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
    Wolfram Alpha web page, http://www.wolframalpha.com/
  7. 7.
    YICES web page, http://yices.csl.sri.com/
  8. 8.
  9. 9.
    Back, T., Eiben, A.E., Vink, M.E.: A superior evolutionary algorithm for 3-SAT. In: Porto, V.W., Waagen, D. (eds.) EP 1998. LNCS, vol. 1447, pp. 125–136. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  10. 10.
    Baresi, L., Lanzi, P.L., Miraz, M.: Testful: An evolutionary test approach for java. In: ICST, pp. 185–194 (2010)Google Scholar
  11. 11.
    Godefroid, P., Klarlund, N., Sen, K.: DART: Directed Automated Random Testing. In: PLDI, pp. 213–223 (2005)Google Scholar
  12. 12.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., Boston (1989)zbMATHGoogle Scholar
  13. 13.
    JavaNCSS website. JavaNCSS - A Source Measurement Suite for Java, http://www.kclee.de/clemens/java/javancss/
  14. 14.
    Kennedy, J., Eberhart, R.: Particle swarm optimization. IEEE Neural Networks, 1942–1948 (1995)Google Scholar
  15. 15.
    King, J.C.: Symbolic execution and program testing. Communications of ACM 19(7), 385–394 (1976)CrossRefzbMATHGoogle Scholar
  16. 16.
    Korel, B.: Automated software test data generation. IEEE Transactions on Software Engineering 16(8), 870–879 (1990)CrossRefGoogle Scholar
  17. 17.
    Kroening, D., Strichman, O.: Decision Procedures – an Algorithmic Point of View. In: EATCS. Springer, Heidelberg (2008)Google Scholar
  18. 18.
    Lakhotia, K., Tillmann, N., Harman, M., de Halleux, J.: FloPSy - search-based floating point constraint solving for symbolic execution. In: Petrenko, A., Simão, A., Maldonado, J.C. (eds.) ICTSS 2010. LNCS, vol. 6435, pp. 142–157. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Pasareanu, C.S., Schumann, J., Mehlitz, P., Lowry, M., Karasai, G., Nine, H., Neema, S.: Model based analysis and test generation for flight software. In: Proceedings of SMC-IT (2009)Google Scholar
  20. 20.
    Păsăreanu, C.S., Mehlitz, P.C., Bushnell, D.H., Gundy-Burlet, K., Lowry, M., Person, S., Pape, M.: Combining unit-level symbolic execution and system-level concrete execution for testing nasa software. In: ISSTA, pp. 15–26 (2008)Google Scholar
  21. 21.
    Takaki, M., Cavalcanti, D., Gheyi, R., Iyoda, J., d’Amorim, M., Prudencio, R.: A comparative study of randomized constraint solvers for random-symbolic testing. In: NFM, pp. 56–65 (2009)Google Scholar
  22. 22.
    Takaki, M., Cavalcanti, D., Gheyi, R., Iyoda, J., d’Amorim, M., Prudencio, R.: Randomized constraint solvers: a comparative study. Innovations in Systems and Software Engineering (ISSE) 6(3), 243–253 (2010)CrossRefGoogle Scholar
  23. 23.
    Tillmann, N., de Halleux, J.: Pex–white box test generation for.NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  24. 24.
    Tonella, P.: Evolutionary testing of classes. In: ISSTA, pp. 119–128 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Matheus Souza
    • 1
  • Mateus Borges
    • 1
  • Marcelo d’Amorim
    • 1
  • Corina S. Păsăreanu
    • 2
  1. 1.Federal University of PernambucoRecifeBrazil
  2. 2.CMU SV/NASA Ames Research CenterMoffett FieldUSA

Personalised recommendations