Visible to the public Solving Complex Path Conditions through Heuristic Search on Induced PolytopesConflict Detection Enabled

TitleSolving Complex Path Conditions through Heuristic Search on Induced Polytopes
Publication TypeConference Paper
Year of Publication2014
Conference Name22nd ACM SIGSOFT Symposium on Foundations of Software Engineering
PublisherACM
Conference LocationHong Kong, China
KeywordsConcolic Testing; Local Search; Non-Linear Constraints, UIUC
Abstract

Test input generators using symbolic and concolic execution must solve path conditions to systematically explore a program and generate high coverage tests. However, path conditions may contain complicated arithmetic constraints that are infeasible to solve: a solver may be unavailable, solving may be computationally intractable, or the constraints may be undecidable. Existing test generators either simplify such constraints with concrete values to make them decidable, or rely on strong but incomplete constraint solvers. Unfortunately, simplification yields coarse approximations whose solutions rarely satisfy the original constraint. Moreover, constraint solvers cannot handle calls to native library methods. We show how a simple combination of linear constraint solving and heuristic search can overcome these limitations. We call this technique Concolic Walk. On a corpus of 11 programs, an instance of our Concolic Walk algorithm using tabu search generates tests with two- to three-times higher coverage than simplification-based tools while being up to five-times as efficient. Furthermore, our algorithm improves the coverage of two state-of-the-art test generators by 21% and 32%. Other concolic and symbolic testing tools could integrate our algorithm to solve complex path conditions without having to sacrifice any of their own capabilities, leading to higher overall coverage.

URLhttps://publish.illinois.edu/science-of-security-lablet/files/2014/06/Solving-Complex-Path-Condition...
Citation Keynode-23468

Other available formats:

Solving Complex Path Conditions through Heuristic Search on Induced Polytopes
AttachmentSize
bytes