Lightweight data-flow analysis for execution-driven constraint solving

Junaid Haroon Siddiqui, Darko Marinov, Sarfraz Khurshid

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Constraint-based testing is a methodology for finding bugs in code, which has been successfully used for testing real systems. A key element of the methodology is generation of test inputs from input constraints, i.e., properties of desired inputs, which is performed by solving the constraints. We present a novel approach to optimize input generation from imperative constraints, i.e., constraints written as predicates in an imperative language. A well known technique for solving such constraints is execution-driven monitoring, where the given predicate is executed on candidate inputs to filter and prune invalid inputs, and generate valid ones. Our insight is that a lightweight static data-flow analysis of the given imperative constraint can enable more efficient solving. This paper describes an approach that embodies our insight and evaluates it using a suite of well-studied subject constraints. The experimental results show our approach provides substantial speedup over previous work.

Original languageEnglish (US)
Title of host publicationProceedings - IEEE 5th International Conference on Software Testing, Verification and Validation, ICST 2012
Pages91-100
Number of pages10
DOIs
StatePublished - Jun 21 2012
Event5th IEEE International Conference on Software Testing, Verification and Validation, ICST 2012 - Montreal, QC, Canada
Duration: Apr 17 2012Apr 21 2012

Publication series

NameProceedings - IEEE 5th International Conference on Software Testing, Verification and Validation, ICST 2012

Other

Other5th IEEE International Conference on Software Testing, Verification and Validation, ICST 2012
CountryCanada
CityMontreal, QC
Period4/17/124/21/12

Keywords

  • Constraint-based testing
  • multi-value comparisons
  • static data-flow analysis

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Lightweight data-flow analysis for execution-driven constraint solving'. Together they form a unique fingerprint.

Cite this