A Comprehensive Framework for Testing Database-Centric Software Applications

The database is a critical component of many modern software applications. Recent reports indicate that the vast majority of database use occurs from within an application program. Indeed, database-centric applications have been implemented to create digital libraries, scientific data repositories, and electronic commerce applications. However, a database-centric application is very different from a traditional software system because it interacts with a database that has a complex state and structure. This dissertation formulates a comprehensive framework to address the challenges that are associated with the efficient and effective testing of database-centric applications. The database-aware approach to testing includes: (i) a fault model, (ii) several unified representations of a program's database interactions, (iii) a family of test adequacycriteria, (iv) a test coverage monitoring component, and (v) tools for reducing and re-ordering a test suite during regression testing.This dissertation analyzes the worst-case time complexity of every important testing algorithm. This analysis is complemented by experiments that measure the efficiency and effectiveness of thedatabase-aware testing techniques. Each tool is evaluated by using it to test six database-centric applications. The experiments show thatthe database-aware representations can be constructed with moderate time and space overhead. The adequacy criteria call for test suitesto cover 20% more requirements than traditional criteria and this ensures the accurate assessment of test suite quality. It is possibleto enumerate data flow-based test requirements in less than one minute and coverage tree path requirements are normally identified in no morethan ten seconds. The experimental results also indicate that the coverage monitor can insert instrumentation probes into all six of theapplications in fewer than ten seconds. Although instrumentation may moderately increase the static space overhead of an application, the coverage monitoring techniques only increase testing time by 55% on average. A coverage tree often can be stored in less than five seconds even though the coverage report may consume up to twenty-fivemegabytes of storage. The regression tester usually reduces or prioritizes a test suite in under five seconds. The experiments also demonstrate that the modified test suite is frequently more streamlined than the initial tests.

[1]  Gregory M. Kapfhammer,et al.  Towards the prioritization of regression test suites with data flow information , 2005, SAC '05.

[2]  Donald D. Chamberlin,et al.  Relational Data-Base Management Systems , 1976, CSUR.

[3]  Neelam Gupta,et al.  Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction , 2007, IEEE Transactions on Software Engineering.

[4]  Jong-Deok Choi,et al.  Accurate, efficient, and adaptive calling context profiling , 2006, PLDI '06.

[5]  Michael Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[6]  Standard Glossary of Software Engineering Terminology , 1990 .

[7]  A. Jefferson Offutt,et al.  Coupling‐based criteria for integration testing , 1998 .

[8]  Alessandro Orso,et al.  Combining static analysis and runtime monitoring to counter SQL-injection attacks , 2005, ACM SIGSOFT Softw. Eng. Notes.

[9]  Lori A. Clarke,et al.  A comparison of data flow path selection criteria , 1985, ICSE '85.

[10]  Guido Moerkotte,et al.  Generating consistent test data: Restricting the search space by a generator formula , 1993, VLDB 1993.

[11]  Cem Kaner,et al.  Testing Computer Software , 1988 .

[12]  Elaine J. Weyuker,et al.  AGENDA: A test generator for relational database applications , 2002 .

[13]  Hector Garcia-Molina,et al.  Meaningful change detection in structured data , 1997, SIGMOD '97.

[14]  Laurie Hendren,et al.  Dynamic metrics for java , 2003, OOPSLA 2003.

[15]  Carl H. Smith,et al.  On Weyuker's Axioms For Software Complexity Measures , 1991, IEEE Trans. Software Eng..

[16]  Jim Gray,et al.  Microsoft TerraServer , 1998, SIGMOD 2000.

[17]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[18]  Gregg Rothermel,et al.  Incorporating varying test costs and fault severities into test case prioritization , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[19]  S. Dowdy,et al.  Statistics for Research , 1983 .

[20]  Elaine J. Weyuker,et al.  Performance testing of software systems , 1998, WOSP '98.

[21]  William Pugh,et al.  Compressing Java class files , 1999, PLDI '99.

[22]  Vassilis J. Tsotras,et al.  Tree-Pattern Queries on a Lightweight XML Processor , 2005, VLDB.

[23]  Elaine J. Weyuker,et al.  An AGENDA for testing relational database applications , 2004, Softw. Test. Verification Reliab..

[24]  Mansour Zand,et al.  A survey of current object-oriented databases , 1995, DATB.

[25]  Amy L. Murphy,et al.  LIME: A coordination model and middleware supporting mobility of hosts and agents , 2006, TSEM.

[26]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[27]  Donald R. Slutz,et al.  Massive Stochastic Testing of SQL , 1998, VLDB.

[28]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[29]  Sebastiano Vigna,et al.  Mutable strings in Java: design, implementation and lightweight text-search algorithms , 2005, Sci. Comput. Program..

[30]  Michal Young,et al.  Residual test coverage monitoring , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[31]  Leesa Murray,et al.  Specification-based class testing: a case study , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[32]  Richard Y. Wang,et al.  Anchoring data quality dimensions in ontological foundations , 1996, CACM.

[33]  Shing-Chi Cheung,et al.  Automatic generation of database instances for white-box testing , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[34]  M.L. Soffa,et al.  Demand-driven structural testing with dynamic instrumentation , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[35]  Vivek Sarkar,et al.  XJ: facilitating XML processing in Java , 2005, WWW '05.

[36]  Ramzi A. Haraty,et al.  Regression testing of database applications , 2001, SAC.

[37]  Lonnie R. Welch,et al.  On Specification of Reusable Software Components , 1993, Int. J. Softw. Eng. Knowl. Eng..

[38]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[39]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[40]  Mary Lou Soffa,et al.  A family of test adequacy criteria for database-driven applications , 2003, ESEC/FSE-11.

[41]  Alfred V. Aho,et al.  Bounds on the Complexity of the Longest Common Subsequence Problem , 1976, J. ACM.

[42]  Atif M. Memon,et al.  Call-Stack Coverage for GUI Test Suite Reduction , 2008, IEEE Transactions on Software Engineering.

[43]  David Hovemeyer,et al.  Finding bugs is easy , 2004, SIGP.

[44]  Ondrej Lhoták,et al.  Scaling Java Points-to Analysis Using SPARK , 2003, CC.

[45]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[46]  Jr. Kingsley G. Morse Compression tools compared , 2005 .

[47]  Zhendong Su,et al.  HDD: hierarchical delta debugging , 2006, ICSE.

[48]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[49]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation0 , 1984, CACM.

[50]  Mary Lou Soffa,et al.  TimeAware test suite prioritization , 2006, ISSTA '06.

[51]  Manu Sridharan,et al.  Demand-driven points-to analysis for Java , 2005, OOPSLA '05.

[52]  Sven Helmer,et al.  Anatomy of a native XML base management system , 2002, The VLDB Journal.

[53]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[54]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[55]  Jorma Tarhio,et al.  Multipattern string matching with q-grams , 2007, ACM J. Exp. Algorithmics.

[56]  Gregg Rothermel,et al.  Empirical studies of test case prioritization in a JUnit testing environment , 2004, 15th International Symposium on Software Reliability Engineering.

[57]  Gustavo Alonso,et al.  Scientific data repositories: designing for a moving target , 2003, SIGMOD '03.

[58]  Larry J Morell,et al.  A Theory of Fault-Based Testing , 1990, IEEE Trans. Software Eng..

[59]  J.H. Andrews,et al.  Is mutation an appropriate tool for testing experiments? [software testing] , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[60]  James Frew,et al.  The ADEPT digital library architecture , 2002, JCDL '02.

[61]  Ondrej Lhoták,et al.  Context-Sensitive Points-to Analysis: Is It Worth It? , 2006, CC.

[62]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[63]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

[64]  Javier Tuya,et al.  Mutating database queries , 2007, Inf. Softw. Technol..

[65]  Daniel S. Hirschberg,et al.  Data compression , 1987, CSUR.

[66]  David Geer Will binary XML speed network traffic? , 2005, Computer.

[67]  Walter Binder Portable, efficient, and accurate sampling profiling for java-based middleware , 2005, SEM '05.

[68]  Charles W. Butler,et al.  Design complexity measurement and testing , 1989, CACM.

[69]  Sriram Ramabhadran,et al.  A case study in building layered DHT applications , 2005, SIGCOMM '05.

[70]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[71]  Philip S. Yu,et al.  ViST: a dynamic index method for querying XML data by tree structures , 2003, SIGMOD '03.

[72]  Carl Lagoze,et al.  Core services in the architecture of the national science digital library (NSDL) , 2002, JCDL '02.

[73]  Michael D. Ernst,et al.  An experimental evaluation of continuous testing during development , 2004, ISSTA '04.

[74]  Olivier Danvy,et al.  Fast partial evaluation of pattern matching in strings , 2003, PEPM.

[75]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[76]  Gregg Rothermel,et al.  The impact of test suite granularity on the cost-effectiveness of regression testing , 2002, ICSE '02.

[77]  Cécile Péraire,et al.  A Theory of Specification-Based Testing for Object-Oriented Software , 1996, EDCC.

[78]  George Reese,et al.  MySQL and mSQL , 1999 .

[79]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[80]  Wolfgang Meier,et al.  eXist: An Open Source Native XML Database , 2002, Web, Web-Services, and Database Systems.

[81]  Suzanne M. Embury,et al.  An intensional approach to the specification of test cases for database applications , 2006, ICSE '06.

[82]  Reagan Moore,et al.  Data-intensive computing and digital libraries , 1998, CACM.

[83]  Jacek Becla,et al.  Lessons Learned from Managing a Petabyte , 2005, CIDR.

[84]  Richard N. Taylor,et al.  Rethinking the taxonomy of fault detection techniques , 1989, ICSE '89.

[85]  Javier Tuya,et al.  Using an SQL coverage measurement for testing database applications , 2004, SIGSOFT '04/FSE-12.

[86]  XML parsing: a threat to database performance , 2003, CIKM '03.

[87]  David Grove,et al.  Adaptive online context-sensitive inlining , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[88]  Eugene W. Myers,et al.  A file comparison program , 1985, Softw. Pract. Exp..

[89]  James R. Larus,et al.  Exploiting hardware performance counters with flow and context sensitive profiling , 1997, PLDI '97.

[90]  Brian Marick How to Misuse Code Coverage , 1999 .

[91]  Atif M. Memon,et al.  Call stack coverage for test suite reduction , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[92]  Mikhail Dmitriev Profiling Java applications using code hotswapping and dynamic call graph revelation , 2004, WOSP '04.

[93]  Manu Sridharan,et al.  Refinement-based context-sensitive points-to analysis for Java , 2006, PLDI '06.

[94]  Dan Suciu,et al.  XMill: an efficient compressor for XML data , 2000, SIGMOD '00.

[95]  Ondrej Lhoták,et al.  Points-to analysis using BDDs , 2003, PLDI '03.

[96]  Amihai Motro,et al.  Integrity = validity + completeness , 1989, TODS.

[97]  Lori L. Pollock,et al.  All-du-path coverage for parallel programs , 1998, ISSTA '98.

[98]  Tim Brecht,et al.  Controlling garbage collection and heap growth to reduce the execution time of Java applications , 2006, TOPL.

[99]  Shing-Chi Cheung,et al.  Testing Database Applications with SQL Semantics , 1999, CODAS.

[100]  Gregory M. Kapfhammer,et al.  Implementation and Analysis of a JavaSpace Supported by a Relational Database , 2002, PDPTA.

[101]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[102]  Alessandro Orso,et al.  Command-Form Coverage for Testing Database Applications , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[103]  Gregory M. Kapfhammer,et al.  Creation and Analysis of a JavaSpace-based Distributed Genetic Algorithm , 2002, PDPTA.

[104]  Peter G. Neumann,et al.  Risks to the public in computers and related systems , 2001, SOEN.

[105]  Mary Lou Soffa,et al.  Efficient computation of interprocedural definition-use chains , 1994, TOPL.

[106]  Gary Marchionini,et al.  The roles of digital libraries in teaching and learning , 1995, CACM.

[107]  Chandra Krintz,et al.  The design, implementation, and evaluation of adaptive code unloading for resource-constrained devices , 2005, TACO.

[108]  Gregg Rothermel,et al.  Aristotle: A System for Research on and Development of Program-Analysis-Based Tools , 1997 .

[109]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[110]  Latifur Khan,et al.  A performance evaluation of storing XML data in relational database management systems , 2001, WIDM '01.

[111]  Donald Kossmann,et al.  Parallel Execution of Test Runs for Database Application Systems , 2005, VLDB.

[112]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[113]  A. Jefferson Offutt,et al.  A fault model for subtype inheritance and polymorphism , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[114]  Yves Ledru,et al.  Experiences in coverage testing of a Java middleware , 2005, SEM '05.

[115]  Aske Simon Christensen,et al.  Precise Analysis of String Expressions , 2003, SAS.

[116]  Paolo Tonella,et al.  Evolutionary testing of classes , 2004, ISSTA '04.

[117]  Forrest Shull,et al.  Improving software inspections by using reading techniques , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[118]  Jeffrey M. Voas,et al.  Toward a More Reliable Theory of Software Reliability , 2000, Computer.

[119]  Praveen Seshadri,et al.  The VLDB Journal manuscript No. (will be inserted by the editor) Enhanced Abstract Data Types in Object-Relational Databases , 1998 .

[120]  Berthier A. Ribeiro-Neto,et al.  Extracting semi-structured data through examples , 1999, CIKM '99.

[121]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[122]  Phyllis G. Frankl,et al.  Testing database transaction concurrency , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[123]  Hector Garcia-Molina,et al.  Efficient Snapshot Differential Algorithms for Data Warehousing , 1996, VLDB.

[124]  Gregg Rothermel,et al.  On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques , 2006, IEEE Transactions on Software Engineering.

[125]  Daniel S. Hirschberg,et al.  Algorithms for the Longest Common Subsequence Problem , 1977, JACM.

[126]  Charles J. Poole,et al.  Using Extreme Programming in a Maintenance Environment , 2001, IEEE Softw..

[127]  Andreas Zeller,et al.  Simplifying and Isolating Failure-Inducing Input , 2002, IEEE Trans. Software Eng..

[128]  Brighten Godfrey,et al.  OpenDHT: a public DHT service and its uses , 2005, SIGCOMM '05.

[129]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[130]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[131]  Michael D. Ernst,et al.  Improving test suites via operational abstraction , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[132]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[133]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[134]  Edith Schonberg,et al.  SABER: smart analysis based error reduction , 2004, ISSTA '04.

[135]  Vivek Sarkar,et al.  The Jikes Research Virtual Machine project: Building an open-source research community , 2005, IBM Syst. J..

[136]  E. F. Codd,et al.  Extending the database relational model to capture more meaning , 1979, ACM Trans. Database Syst..

[137]  Cong Yu,et al.  TIMBER: A native XML database , 2002, The VLDB Journal.

[138]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.

[139]  Mary Jean Harrold,et al.  Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage , 2003, IEEE Trans. Software Eng..

[140]  Suzanne M. Embury,et al.  A safe regression test selection technique for database-driven applications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[141]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[142]  Murali Sitaraman,et al.  Formal specification of COTS-based software: a case study , 1999, SSR '99.

[143]  Jim Melton,et al.  An early look at XQuery , 2002, SGMD.

[144]  Diane M. Strong,et al.  Data quality in context , 1997, CACM.

[145]  James Cheney Compressing XML with multiplexed hierarchical PPM models , 2001, Proceedings DCC 2001. Data Compression Conference.

[146]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.

[147]  Stephen McCamant,et al.  The Daikon system for dynamic detection of likely invariants , 2007, Sci. Comput. Program..

[148]  Paul H. J. Kelly,et al.  A dynamic topological sort algorithm for directed acyclic graphs , 2007, ACM J. Exp. Algorithmics.

[149]  Phyllis G. Frankl,et al.  An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing , 1993, IEEE Trans. Software Eng..

[150]  Phyllis G. Frankl,et al.  A framework for testing database applications , 2000, ISSTA '00.

[151]  Gagan Agrawal,et al.  Efficient Evaluation of XQuery over Streaming Data , 2005, VLDB.

[152]  Amitabh Srivastava,et al.  Effectively prioritizing tests in development environment , 2002, ISSTA '02.

[153]  Shing-Chi Cheung,et al.  Applying white box testing to database applications , 1999 .

[154]  H SchollMarc,et al.  Transactional information systems , 2001 .

[155]  Deeparnab Chakrabarty,et al.  Knapsack Problems , 2008 .

[156]  Rajiv Gupta,et al.  A demand-driven analyzer for data flow testing at the integration level , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[157]  Kenneth Baclawski,et al.  Quickly generating billion-record synthetic databases , 1994, SIGMOD '94.

[158]  Gregor Kiczales,et al.  A machine code model for efficient advice dispatch , 2007, VMIL.

[159]  Jing Yang,et al.  Dimension: an instrumentation tool for virtual execution environments , 2006, VEE '06.

[160]  Emanuel Melachrinoudis,et al.  Bi-criteria models for all-uses test suite reduction , 2004, Proceedings. 26th International Conference on Software Engineering.

[161]  Jennifer Widom,et al.  Change detection in hierarchically structured information , 1996, SIGMOD '96.

[162]  Alberto H. F. Laender,et al.  DEByE - Data Extraction By Example , 2002, Data Knowl. Eng..

[163]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[164]  Phil McMinn,et al.  Evolutionary testing of state-based programs , 2005, GECCO '05.

[165]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[166]  Witawas Srisa-an,et al.  Investigating throughput degradation behavior of Java application servers: a view from inside a virtual machine , 2006, PPPJ '06.

[167]  Wilfred Ng,et al.  Comparative Analysis of XML Compression Technologies , 2006, World Wide Web.

[168]  Jeffrey M. Voas,et al.  PIE: A Dynamic Failure-Based Technique , 1992, IEEE Trans. Software Eng..

[169]  A. Jefferson Offutt,et al.  Coupling-based Criteria for Integration Testing , 1998, Softw. Test. Verification Reliab..

[170]  Neelam Gupta,et al.  A concept analysis inspired greedy algorithm for test suite minimization , 2005, PASTE '05.

[171]  Daniel Sunday,et al.  A very fast substring search algorithm , 1990, CACM.

[172]  Brian Marick,et al.  When Should a Test Be Automated , 1998 .

[173]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[174]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[175]  Daniel Mossé,et al.  Testing in resource constrained execution environments , 2005, ASE '05.

[176]  Jens Palsberg,et al.  Scalable propagation-based call graph construction algorithms , 2000, OOPSLA '00.

[177]  Thomas Reps,et al.  Interconveritibility of Set Constraints and Context-Free Language Reachability , 1997, PEPM.

[178]  Mary Lou Soffa,et al.  A methodology for controlling the size of a test suite , 1993, TSEM.

[179]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[180]  Richard Hightower,et al.  Java tools for eXtreme Programming: mastering open source tools including, Ant, JUnit, and Cactus , 2001 .

[181]  Paul H. J. Kelly,et al.  Profiling with AspectJ , 2007, Softw. Pract. Exp..

[182]  Mary Jean Harrold,et al.  Empirical evaluation of the tarantula automatic fault-localization technique , 2005, ASE.

[183]  Pankaj Jalote,et al.  Fault tolerance in distributed systems , 1994 .

[184]  Atif M. Memon,et al.  Designing and comparing automated test oracles for GUI-based software applications , 2007, TSEM.

[185]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[186]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[187]  Mira Mezini,et al.  Adapting virtual machine techniques for seamless aspect support , 2006, OOPSLA '06.

[188]  Charly Kleissner,et al.  Enterprise Objects Framework: a second generation object-relational enabler , 1995, SIGMOD '95.

[189]  Dennis Shasha,et al.  Algorithmics and applications of tree and graph searching , 2002, PODS.

[190]  Yuetang Deng,et al.  Demonstration of AGENDA tool set for testing relational database applications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[191]  Fabrizio Luccio,et al.  Compressing and searching XML data via two zips , 2006, WWW '06.

[192]  Laurie J. Hendren,et al.  Optimizing Java Bytecode Using the Soot Framework: Is It Feasible? , 2000, CC.

[193]  Michael S. Noble,et al.  Scientific Computation with JavaSpaces , 2001, HPCN Europe.

[194]  Perry Cheng,et al.  Myths and realities: the performance impact of garbage collection , 2004, SIGMETRICS '04/Performance '04.

[195]  Gregg Rothermel,et al.  A Coherent Family of Analyzable Graphical Representations for Object-Oriented Software , 1996 .

[196]  A. Jefferson Offutt,et al.  Inter-class mutation operators for Java , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[197]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[198]  Gregg Rothermel,et al.  Interprocedural control dependence , 2001, TSEM.

[199]  Donald Kossmann,et al.  Efficient Regression Tests for Database Applications , 2005, CIDR.

[200]  Walter Binder,et al.  Continuous Bytecode Instruction Counting for CPU Consumption Estimation , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[201]  Jeffrey K. Hollingsworth,et al.  Efficient instrumentation for code coverage testing , 2002, ISSTA '02.

[202]  Barton P. Miller,et al.  Incremental call‐path profiling , 2007, Concurr. Comput. Pract. Exp..

[203]  Barton P. Miller,et al.  Using Dynamic Kernel Instrumentation for Kernel and Application Tuning , 1999, Int. J. High Perform. Comput. Appl..

[204]  Bernd Freisleben,et al.  Supporting autonomic computing functionality via dynamic operating system kernel aspects , 2005, AOSD '05.

[205]  Laurie Hendren,et al.  Soot---a java optimization framework , 1999 .

[206]  Niklas Röjemo,et al.  Lag, drag, void and use—heap profiling and space-efficient compilation revisited , 1996, ICFP '96.

[207]  Quanzhong Li,et al.  Supporting efficient query processing on compressed XML files , 2005, SAC '05.