Dynamic Test Data Generation for Data Intensive Applications

  • Allon Adir
  • Ronen Levy
  • Tamer Salman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7261)


There are many cases where the development and testing of data-intensive applications need to be supported without the prior existence of data. Our work presents a dynamic test data generation framework for testing such applications. This capability is important, when the data is confidential and cannot be given to the test person for security reasons or when the application is in its development phase and real data does not yet exist. The proposed solution dynamically intercepts queries made by the application under test and creates appropriate data based on user requirements. This approach does not require access to the source code of the application under test, which could also be confidential. Data generation can be controlled to achieve desired data and query result patterns, including realistic data or data with higher test quality. The paper concludes with experiments that demonstrate the coverage and performance aspects of the solution.


Database applications data privacy query-aware data generation constraint satisfaction problems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
  3. 3.
    Emmi, M., Majumdar, R., Sen, K.: Dynamic Test Input Generation for Database Applications. In: Proceedings of the 2007 International Symposium on Software Testing and Analysis (ISSTA 2007), pp. 151–162. ACM, New York (2007)CrossRefGoogle Scholar
  4. 4.
    Sen, K., Marinov, D., Agha, G.: CUTE: a Concolic Unit Testing Engine for C. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-13). ACM, New York (2005)Google Scholar
  5. 5.
    Sen, K.: DART: Directed Automated Random Testing. In: Namjoshi, K., Zeller, A., Ziv, A. (eds.) HVC 2009. LNCS, vol. 6405, p. 4. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  6. 6.
    Păsăreanu, C., Mehlitz, P., Bushnell, D., Gundy-Burlet, K., Lowry, M., Person, S., Pape, M.: Combining Unit-Level Symbolic Execution and System-Level Concrete Execution for Testing Nasa Software. In: Proceedings of the 2008 International Symposium on Software Testing and Analysis (ISSTA 2008), ACM, New York (2008)Google Scholar
  7. 7.
    Veanes, M., Grigorenko, P., Halleux, P., Tillmann, N.: Symbolic Query Exploration. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 49–68. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Taneja, K., Zhang, Y., Xie, T.: MODA: Automated Test Generation for Database Applications via Mock Objects. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), pp. 289–292. ACM, New York (2010)CrossRefGoogle Scholar
  9. 9.
    Binnig, C., Kossmann, D., Lo, E., Özsu, T.: QAGen: Generating Query-Aware Test Databases. In: Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data (SIGMOD 2007), pp. 341–352. ACM, New York (2007)CrossRefGoogle Scholar
  10. 10.
    Khalek, S., Elkarablieh, B., Laleye, Y., Khurshid, S.: Query-Aware Test Generation Using a Relational Constraint Solver. In: Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), pp. 238–247. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  11. 11.
    Bruno, N., Chaudhuri, S., Thomas, D.: Generating Queries with Cardinality Constraints for DBMS Testing. IEEE Trans. on Knowl. and Data Eng. 18(12), 1721–1725Google Scholar
  12. 12.
    Tuya, J., Suárez-Cabal, M., De la Riva, C.: Full Predicate Coverage for Testing SQL Database Queries. Software. Test. Verif. Reliab. 20(3), 237–288 (2010)CrossRefGoogle Scholar
  13. 13.
    De la Riva, C., Suárez-Cabal, M., Tuya, J.: Constraint-Based Test Database Generation for SQL Queries. In: Proceedings of the 5th Workshop on Automation of Software Test (AST 2010). ACM, New York (2010)Google Scholar
  14. 14.
    Jackson, D.: Alloy: A Lightweight Object Modeling Notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  15. 15.
    Grandison, T., Liu, K., Domany, T.: End-to-End Data De-identification (EDDI): Capitalizing on an Emerging Market. In: IBM Academy of Technology Security and Privacy Symposium, Yorktown, New York (2007)Google Scholar
  16. 16.
    Apt, K.: Principles of Constraint Programming. Cambridge University Press, New York (2003)zbMATHCrossRefGoogle Scholar
  17. 17.
    Rossi, F., Van Beek, P., Walsh, T. (eds.): Handbook of Constraint Programming. Elsevier (2006)Google Scholar
  18. 18.
    Naveh, Y., Rimon, M., Jaeger, I., Katz, Y., Vinov, M., Marcus, E., Shurek, G.: Constraint-Based Random Stimuli Generation for Hardware Verification. AI Magazine 28(3) (2006)Google Scholar
  19. 19.
  20. 20.
    MySQL open source database,
  21. 21.
    Marick, B.: The Craft of Software Testing, Subsystem Testing Including Object-Based and Object-Oriented Testing. Prentice-Hall (1985)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Allon Adir
    • 1
  • Ronen Levy
    • 1
  • Tamer Salman
    • 1
  1. 1.IBM Research - HaifaHaifaIsrael

Personalised recommendations