1. A method for generating test inputs for testing an application, the method comprising: executing, by a processing system, an application using test input values that are generated for testing the application with respect to a property of interest; collecting one or more constraints among symbolic variables of the application; determining whether a branch in the application is relevant to the property; generating new test input values based on the constraints and branch relevancy; generating, by a processing system, new test inputs for a next iteration based on test values of a current iteration and symbolic constraints collected during the current iteration; and pruning execution paths using runtime generated information that includes relevancy of a plurality of branches in the application with respect to the property of interest.