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.

Symbolic Path-Oriented Test Data Generation for Floating-Point Programs / Bagnara, Roberto; Carlier, M.; Gori, R.; Gotlieb, A.. - ELETTRONICO. - (2013), pp. 1-10. (Intervento presentato al convegno Sixth IEEE International Conference on Software Testing, Verification and Validation tenutosi a Luxembourg City, Luxembourg nel March 18-22, 2013) [10.1109/ICST.2013.17].

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

BAGNARA, Roberto;
2013-01-01

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.
2013
978-1-4673-5961-0
Symbolic Path-Oriented Test Data Generation for Floating-Point Programs / Bagnara, Roberto; Carlier, M.; Gori, R.; Gotlieb, A.. - ELETTRONICO. - (2013), pp. 1-10. (Intervento presentato al convegno Sixth IEEE International Conference on Software Testing, Verification and Validation tenutosi a Luxembourg City, Luxembourg nel March 18-22, 2013) [10.1109/ICST.2013.17].
File in questo prodotto:
File Dimensione Formato  
4968a001.pdf

non disponibili

Tipologia: Documento in Post-print
Licenza: NON PUBBLICO - Accesso privato/ristretto
Dimensione 259.48 kB
Formato Adobe PDF
259.48 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11381/2563644
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 29
  • ???jsp.display-item.citation.isi??? 19
social impact