Search-based software testing is a powerful automated technique to generate test inputs for software. Its goal is to reach a branch or a statement in a program under test. One major limitation of this approach is an insufficiently informed fitness function to guide search toward a test target within nested predicates (constraints). To address this problem we propose fitness functions based on concepts well known to the constraint programming community, such as constrainedness and arity, to rank test candidates. Preliminary experiments promise efficiency and effectiveness for the new fitness functions.


Simulated Annealing Software Test Hard Constraint Branch Distance Test Case Generation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arcuri, A.: It does matter how you normalise the branch distance in search based software testing. In: ICST, pp. 205–214. IEEE Computer Society (2010)Google Scholar
  2. 2.
    Baars, A.I., Harman, M., Hassoun, Y., Lakhotia, K., McMinn, P., Tonella, P., Vos, T.E.J.: Symbolic search-based testing. In: Alexander, P., Pasareanu, C.S., Hosking, J.G. (eds.) ASE, pp. 53–62. IEEE (2011)Google Scholar
  3. 3.
    Collavizza, H., Rueher, M., Hentenryck, P.V.: Cpbpv: a constraint-programming framework for bounded program verification. Constraints 15, 238–264 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Gotlieb, A.: Euclide: A constraint-based testing framework for critical C programs. In: ICST, pp. 151–160. IEEE Computer Society (2009)Google Scholar
  5. 5.
    Lukasiewycz, M., Glaß, M., Reimann, F., Teich, J.: Opt4j: a modular framework for meta-heuristic optimization. In: Krasnogor, N., Lanzi, P.L. (eds.) GECCO, pp. 1723–1730. ACM (2011)Google Scholar
  6. 6.
    McMinn, P.: Search-based software test data generation: a survey. Software Testing Verification & Reliability 14, 105–156 (2004)CrossRefGoogle Scholar
  7. 7.
    Pasareanu, C.S., Rungta, N.: Symbolic pathfinder: symbolic execution of java bytecode. In: Pecheur, C., Andrews, J., Nitto, E.D. (eds.) ASE, pp. 179–180. ACM (2010)Google Scholar
  8. 8.
    Pesant, G.: Counting solutions of CSPS: A structural approach. In: Kaelbling, L.P., Saffiotti, A. (eds.) IJCAI, pp. 260–265. Professional Book Center (2005)Google Scholar
  9. 9.
    Sakti, A., Guéhéneuc, Y.G., Pesant, G.: Boosting search based testing by using constraint based testing. In: Fraser, G., de Souza, J.T. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 213–227. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    Tracey, N., Clark, J.A., Mander, K., McDermid, J.A.: An automated framework for structural test-data generation. In: ASE, pp. 285–288 (1998)Google Scholar
  11. 11.
    Wegener, J., Baresel, A., Sthamer, H.: Evolutionary test environment for automatic structural testing. Information and Software Technology 43(14), 841–854 (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Abdelilah Sakti
    • 1
  • Yann-Gaël Guéhéneuc
    • 1
  • Gilles Pesant
    • 1
  1. 1.Department of Computer and Software EngineeringÉcole Polytechnique de MontréalCanada

Personalised recommendations