• DocumentCode
    1890536
  • Title

    Finding Inputs that Reach a Target Expression

  • Author

    Naylor, Matthew ; Runciman, Colin

  • Author_Institution
    Univ. of York, York
  • fYear
    2007
  • fDate
    Sept. 30 2007-Oct. 1 2007
  • Firstpage
    133
  • Lastpage
    142
  • Abstract
    We present an automated program analysis, called Reach, to compute program inputs that cause evaluation of explicitly-marked target expressions. Reach has a range of applications including property refutation, assertion breaking, program crashing, program covering, program understanding, and the development of customised data generators. Reach is based on lazy narrowing, a symbolic evaluation strategy from functional-logic programming. We use Reach to analyse a range of programs, and find it to be a useful tool with clear performance benefits over a method based on exhaustive input generation. We also explore different methods for bounding the search space, the selective use of breadth-first search to find the first solution quickly, and techniques to avoid evaluation that is unnecessary to reach a target.
  • Keywords
    functional programming; logic programming; program diagnostics; program testing; symbol manipulation; Reach automated program analysis; assertion breaking; breadth-first search; customised data generator; explicitly-marked target expression; functional-logic programming; lazy narrowing; program covering; program crashing; program testing; program understanding; property refutation; symbolic evaluation strategy; Application software; Automatic testing; Computer crashes; Computer science; Concrete; Functional programming; Performance analysis; Power generation; Program processors; Target recognition;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2007. SCAM 2007. Seventh IEEE International Working Conference on
  • Conference_Location
    Paris
  • Print_ISBN
    978-0-7695-2880-9
  • Type

    conf

  • DOI
    10.1109/SCAM.2007.30
  • Filename
    4362905