These are good to read but we will not go over them in the seminar A. Resource papers for overviews: [Har2000]Testing: A Roadmap Mary Jean Harrold ICSE - Future of SE Track 2000 overview paper of state of the art in 2000 B. Structural Testing Techniques B.1. Overviews: [ZHM1997] BEST CHOICE Software unit testing coverage and adequacy. H. Zhu, P. Hall, and J. May. ACM Computing Surveys,December 1997. A very good survey paper. [GG2002] Data Flow Testing, N. Gupta and R. Gupta, The Compiler Design Handbook: Optimizations and Machine Code Generation, Chapter 7, CRC Press, September 2002. A good material for general introduction on data flow testing. B.2. papers on DF testing criteria OPTIONAL [FW1993] An Analytical Comparison of the Fault-Detecting Ability of Data Flow Testing Techniques. Phyllis G. Frankl, Elaine J. Weyuker ICSE 1993 cited by [GG2002] Data Flow Testing, This paper compares several data flow based testing and the branch testing in terms of fault detection instead of subsumption. The paper proposes subdomain based concept and based on this, define the fault detection ability. OPTIONAL [Wey1990] The cost of data flow testing: an empirical study Weyuker TSE Feb,1990. The worst case time cost of All-uses and all-du-paths, respectively are quadratic and exponential in the number of conditional statements but in practice, they are usually linear in the number of conditional statements, and on the average, these two require fewer than twice the number of the test cases of all-defs. B.4. class-based testing in OOPLs [HGF 1992] Incremental Testing of Object-Oriented Class Structures Mary Jean Harrold, John D. McGregor ICSE 1992 Cited by [BLW2003]. In this paper,they present a class testing technique that exploits the hierarchical nature of the inheritance relation to test related groups of classes by reusing the testing information for a parent class to guide the testing of a subclass. B.5. polymorphism testing in OOPLs [CK1999] Testing object oriented programs----an integrated approach. M. H. Chen and M. H. Kao. International Symposium on Software Reliability Engineering 1999 Review C. Structure-based Test Data Generation C.1. Symbolic execution DEMILLO, R. A., AND OFFUT, A. J. Constraint- Based Automatic Test Data Generation. IEEE Transactions on Software Engineering SE-17, 9 (September 1991), 900-910. [RS_ICSE_2002] Efficient path conditions in dependence graphs Torsten Robschink,Gregor Snelting ICSE 2002 ?KING, J. C. Symbolic Execution and Program Testing. Commun. ACM 19, 7 (July 1976), 385- 394. C.2. dynamic methods [MMS_TSE_2001] Generating Software Test Data by Evolution C. C. Michael ,G. McGraw ,M. A. Schatz Cigital Corp., Dulles, VA, USA IEEE Transactions on Software Engineering,Dec 2001. This paper discusses the use of genetic algorithms (GAs) for automatic software test data generation. This research extends previous work on dynamic test data generation where the problem of test data generation is reduced to one of minimizing a function. In our work, the function is minimized by using one of two genetic algorithms in place of the local minimization techniques used in earlier research. We describe the implementation of our GA-based system and examine the effectiveness of this approach on a number of programs, one of which is significantly larger than those for which results have previously been reported in the literature. We also examine the effect of program complexity on the test data generation problem by executing our system on a number of synthetic programs that have varying complexities. C.3. constraint solving techniques Automatic test data generation using constraint solving techniques Arnaud Gotlieb , Bernard Botella , Michel Rueher Issta 1998 pp 53 - 62 C.4 Specification-based test data generation Korat: automated testing based on Java predicates Chandrasekhar Boyapati ,Sarfraz Khurshid , Darko Marinov, MIT ISSTA 2002 D. program slicing overview papers {F. Tip95} Frank Tip. A survey of program slicing techniques. Journal of programming languages, 3(3), September 1995. David Binkley and Keith Brian Gallagher. Program slicing. Advances in Computers, 43:1-50, 1996. Daniel Jackson and Eugene J. Rollins. A new model of program dependences for reverse engineering. In Proceedings of the second ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 2-10, 1994. E. regression testing G. Rothermel and M.J. Harrold, "Selecting Regression Tests for OO Software", ICSM 1994. "Using component metadata to support regression testing of component-based software", Mary Jean Harrold, Alex Orso, David Rosenblum, Gregg Rothermel, Mary Lou Soffa, Hyunsook Do, Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001). November 2001, Florence, Italy, pp. 716-725. Regression Testing for C++ Software. Gregg Rothermel, Mary Jean Harrold, and Jeinay Dedhia. Journal of Software Testing, Verification, and Reliability, vol. 10, no. 6, June 2000. G. others James Rumbaugh et al, OO Modeling and Design, 1991 Englewood Cliffs Smith and Robson, "A Framework for testing OO programs", JOOP, June 1992, 5(3) Dorothy Graham, "testing oo systems", 1996, ovium evaluates testing tools? *************************************** NGS: testing concurrent programs [Dwy1997] Modular flow analysis for concurrent software (??maybe useful, not sure yet) M.B. Dwyer International Conference on Automated Software Engineering (ASE '97)(formerly: KBSE) 1997 [CLW1997] Incorporating Code Coverage in the Reliability Estimation for Fault-Tolerant Software, M. Chen, M.R. Lyu, and E. Wong, Proceedings 16th IEEE Symposium on Reliable Distributed Systems, Durham, North Carolina, October 1997. This cited the paper "Selecting software test data using data flow information"