JDAMA: Java database application mutation analyser - Zhou, Chixiang; Frankl, Phyllis (Software testing, verification & reliability, 2011)
Database application programs are ubiquitous; hence, good techniques for testing them are needed. Several approaches to testing database applications have been proposed recently, including test generation techniques and adequacy criteria. Tuya et al. proposed mutation‐based adequacy criteria for database queries and developed a set of mutation operators for Structured Query Language SELECT statements. This paper extends that approach by integrating it with analysis and instrumentation of the application bytecode. The design and implementation of a tool, Java Database Application Mutation Analyser (JDAMA), are described. JDAMA instruments application bytecode so as to compare the results of queries executed by the application under test to the results of mutants of those queries. JDAMA can be used to support mutation testing for Java database applications. A second, potentially more useful application of JDAMA is to support experiments evaluating testing techniques for database applications, in which query mutation is used to seed faults into subject applications. The paper illustrates these uses of JDAMA with experiments comparing two approaches to test generation and experiments evaluating coverage criteria. Copyright © 2011 John Wiley & Sons, Ltd. JDAMA performs mutation testing on database application programs by instrumenting application byte code so that results of executed SQL statements will be automatically compared to the results of their mutants. This paper discusses JDAMA's design and illustrates how JDAMA can be used for studying the effectiveness of database application testing techniques. Copyright © 2011 John Wiley & Sons, Ltd.