• DocumentCode
    625500
  • Title

    Symbolic Path-Oriented Test Data Generation for Floating-Point Programs

  • Author

    Bagnara, Roberto ; Carlier, Matthieu ; Gori, Roberta ; Gotlieb, Arnaud

  • Author_Institution
    Dept. of Math. & Comput. Sci., Univ. of Parma, Parma, Italy
  • fYear
    2013
  • fDate
    18-22 March 2013
  • Firstpage
    1
  • Lastpage
    10
  • Abstract
    Verifying critical numerical software involves the generation of test data for floating-point intensive programs. As the symbolic execution of floating-point computations presents significant difficulties, existing approaches usually resort to random or search-based test data generation. However, without symbolic reasoning, it is almost impossible to generate test inputs that execute many paths with floating-point computations. Moreover, constraint solvers over the reals or the rationals do not handle the rounding errors. In this paper, we present a new version of FPSE, a symbolic evaluator for C program paths, that specifically addresses this problem. The tool solves path conditions containing floating-point computations by using correct and precise projection functions. This version of the tool exploits an essential filtering property based on the representation of floating-point numbers that makes it suitable to generate path-oriented test inputs for complex paths characterized by floating-point intensive computations. The paper reviews the key implementation choices in FPSE and the labeling search heuristics we selected to maximize the benefits of enhanced filtering. Our experimental results show that FPSE can generate correct test inputs for selected paths containing several hundreds of iterations and thousands of executable floating-point statements on a standard machine: this is currently outside the scope of any other symbolic-execution test data generator tool.
  • Keywords
    C language; floating point arithmetic; mathematics computing; program testing; program verification; symbol manipulation; C program paths; FPSE; correct projection function; critical numerical software verification; filtering property; floating-point computations; floating-point intensive programs; floating-point number representation; labeling search heuristics; precise projection function; random test data generation; search-based test data generation; symbolic evaluator; symbolic path-oriented test data generation; symbolic-execution test data generator tool; test input generation; Cognition; Electronic mail; Open area test sites; Software; Standards; Upper bound;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on
  • Conference_Location
    Luembourg
  • Print_ISBN
    978-1-4673-5961-0
  • Type

    conf

  • DOI
    10.1109/ICST.2013.17
  • Filename
    6569710