Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1986308.1986337guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

CORAL: solving complex constraints for symbolic pathfinder

Published: 18 April 2011 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    CHOCO web page, http://www.emn.fr/z-info/choco-solver/.
    [2]
    CVC3 web page, http://www.cs.nyu.edu/acsys/cvc3/.
    [3]
    Opt4J web page, http://opt4j.sourceforge.net/.
    [4]
    TSAFE maryland, http://www.cs.umd.edu/~mvz/cmsc435-s09/.
    [5]
    TSAFE mit, http://sdg.csail.mit.edu/TSAFE/downloads/.
    [6]
    Wolfram Alpha web page, http://www.wolframalpha.com/.
    [7]
    YICES web page, http://yices.csl.sri.com/.
    [8]
    JPF project (2010), http://babelfish.arc.nasa.gov/trac/jpf.
    [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).
    [10]
    Baresi, L., Lanzi, P.L., Miraz, M.: Testful: An evolutionary test approach for java. In: ICST, pp. 185-194 (2010).
    [11]
    Godefroid, P., Klarlund, N., Sen, K.: DART: Directed Automated Random Testing. In: PLDI, pp. 213-223 (2005).
    [12]
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., Boston (1989).
    [13]
    JavaNCSS website. JavaNCSS - A Source Measurement Suite for Java, http://www.kclee.de/clemens/java/javancss/
    [14]
    Kennedy, J., Eberhart, R.: Particle swarm optimization. IEEE Neural Networks, 1942-1948 (1995).
    [15]
    King, J.C.: Symbolic execution and program testing. Communications of ACM 19(7), 385-394 (1976).
    [16]
    Korel, B.: Automated software test data generation. IEEE Transactions on Software Engineering 16(8), 870-879 (1990).
    [17]
    Kroening, D., Strichman, O.: Decision Procedures - an Algorithmic Point of View. In: EATCS. Springer, Heidelberg (2008).
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [24]
    Tonella, P.: Evolutionary testing of classes. In: ISSTA, pp. 119-128 (2004).

    Cited By

    View all
    • (2019)Just fuzz it: solving floating-point constraints using coverage-guided fuzzingProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338921(521-532)Online publication date: 12-Aug-2019
    • (2019)Improving search-based software testing by constraint-based genetic operatorsProceedings of the Genetic and Evolutionary Computation Conference10.1145/3321707.3321720(1435-1442)Online publication date: 13-Jul-2019
    • (2019)Effective floating-point analysis via weak-distance minimizationProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314632(439-452)Online publication date: 8-Jun-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    NFM'11: Proceedings of the Third international conference on NASA Formal methods
    April 2011
    531 pages
    ISBN:9783642203978

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 18 April 2011

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Just fuzz it: solving floating-point constraints using coverage-guided fuzzingProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338921(521-532)Online publication date: 12-Aug-2019
    • (2019)Improving search-based software testing by constraint-based genetic operatorsProceedings of the Genetic and Evolutionary Computation Conference10.1145/3321707.3321720(1435-1442)Online publication date: 13-Jul-2019
    • (2019)Effective floating-point analysis via weak-distance minimizationProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314632(439-452)Online publication date: 8-Jun-2019
    • (2019)Efficient concolic testing of MPI applicationsProceedings of the 28th International Conference on Compiler Construction10.1145/3302516.3307353(193-204)Online publication date: 16-Feb-2019
    • (2019)Grey-box concolic testing on binary codeProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00082(736-747)Online publication date: 25-May-2019
    • (2018)A Survey of Symbolic Execution TechniquesACM Computing Surveys10.1145/318265751:3(1-39)Online publication date: 23-May-2018
    • (2017)Floating-point symbolic execution: a case study in n-version programmingProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155637(601-612)Online publication date: 30-Oct-2017
    • (2017)Dependence Guided Symbolic ExecutionIEEE Transactions on Software Engineering10.1109/TSE.2016.258406343:3(252-271)Online publication date: 1-Mar-2017
    • (2017)A synergistic approach for distributed symbolic execution using test rangesProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.116(130-132)Online publication date: 20-May-2017
    • (2016)Symbolic execution of complex program driven by machine learning based constraint solvingProceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering10.1145/2970276.2970364(554-559)Online publication date: 25-Aug-2016
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media