Chapter

Testing Software and Systems

Volume 6435 of the series Lecture Notes in Computer Science pp 142-157

FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution

  • Kiran LakhotiaAffiliated withCREST Centre, Department of Computer Science, University College London
  • , Nikolai TillmannAffiliated withMicrosoft Research, One Microsoft Way
  • , Mark HarmanAffiliated withCREST Centre, Department of Computer Science, University College London
  • , Jonathan de HalleuxAffiliated withMicrosoft Research, One Microsoft Way

Abstract

Recently there has been an upsurge of interest in both, Search–Based Software Testing (SBST), and Dynamic Symbolic Execution (DSE). Each of these two approaches has complementary strengths and weaknesses, making it a natural choice to explore the degree to which the strengths of one can be exploited to offset the weakness of the other. This paper introduces an augmented version of DSE that uses a SBST–based approach to handling floating point computations, which are known to be problematic for vanilla DSE. The approach has been implemented as a plug in for the Microsoft Pex DSE testing tool. The paper presents results from both, standard evaluation benchmarks, and two open source programs.