{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:14:26Z","timestamp":1763468066549},"reference-count":75,"publisher":"Elsevier","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1016\/b978-0-12-396526-4.00004-7","type":"book-chapter","created":{"date-parts":[[2012,4,7]],"date-time":"2012-04-07T12:04:41Z","timestamp":1333800281000},"page":"165-212","source":"Crossref","is-referenced-by-count":6,"title":["Advances on Improving Automation in Developer Testing"],"prefix":"10.1016","author":[{"given":"Xusheng","family":"Xiao","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Suresh","family":"Thummalapenta","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tao","family":"Xie","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib1","article-title":"Test-Driven Development: By Example","author":"Beck","year":"2003"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib2","unstructured":"L. Baresi, M. Young, Test oracles, Technical Report CIS-TR-01-02, University of Oregon, Department of Computer and Information Science, 2001."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib3","unstructured":"Erich Gamma, Kent Beck, JUnit, 2000. http:\/\/www.junit.org\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib4","unstructured":"J.W. Newkirk, A.A. Vorontsov, M.C. Two, P. A. Craig, NUnit, 2002. http:\/\/www.nunit.org\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib5","unstructured":"xUnit, 2008. http:\/\/www.codeplex.com\/xunit. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib6","unstructured":"M. Feathers, CppUnit, 2001. http:\/\/sourceforge.net\/projects\/cppunit\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib7","series-title":"Object-Oriented Software Construction","author":"Meyer","year":"1988"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib8","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1145\/267580.267590","article-title":"Software unit test coverage and adequacy","volume":"29","author":"Zhu","year":"1997","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib9","unstructured":"Parasoft Jtest, 2003. http:\/\/www.parasoft.com\/jsp\/products\/home.jsp?product=Jtest. Accessed January 2009."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib10","unstructured":"Agitar AgitarOne, 2007. http:\/\/www.agitar.com\/solutions\/products\/agitarone.html. Accessed January 2009."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib11","unstructured":"CodePro AnalytiX, 2001. http:\/\/code.google.com\/javadevtools\/codepro\/doc\/analytix.html. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib12","series-title":"Proceedings of TAP","first-page":"134","article-title":"Pex-white box test generation for .NET","author":"Tillmann","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib13","unstructured":"SilverMark Test Mentor, 1998. http:\/\/www.silvermark.com\/Product\/java\/stm\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib14","unstructured":"IBM Rational Robot, 2005. http:\/\/www-01.ibm.com\/software\/awdtools\/tester\/robot\/index.html. Accessed December 2011."},{"issue":"10","key":"10.1016\/B978-0-12-396526-4.00004-7_bib15","doi-asserted-by":"crossref","first-page":"869","DOI":"10.1109\/TSE.2005.107","article-title":"Checking inside the black box: Regression testing by comparing value spectra","volume":"31","author":"Xie","year":"2005","journal-title":"IEEE Trans. Software Eng."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib16","series-title":"Proceedings of ASE","first-page":"196","article-title":"Rostra: a framework for detecting redundant object-oriented unit tests","author":"Xie","year":"2004"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib17","series-title":"Proceedings of ASE","first-page":"114","article-title":"Automatic test factoring for Java","author":"Saff","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib18","series-title":"Proceedings of ASE","first-page":"365","article-title":"Mock-object generation with behavior","author":"Tillmann","year":"2006"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib19","unstructured":"Microsoft Research Pex, 2008. http:\/\/research.microsoft.com\/en-us\/projects\/Pex\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib20","series-title":"Proceedings of WODA","first-page":"29","article-title":"Selective capture and replay of program executions","author":"Orso","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib21","series-title":"Proceedings of FSE","first-page":"253","article-title":"Carving differential unit test cases from system test cases","author":"Elbaum","year":"2006"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib22","series-title":"Proceedings of ETX","first-page":"26","article-title":"UnitPlus: Assisting developer testing in Eclipse","author":"Song","year":"2007"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib23","series-title":"Proceedings of ISSTA","first-page":"159","article-title":"OCAT: object capture-based automated testing","author":"Jaygarl","year":"2010"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib24","series-title":"Proceedings of TAP","first-page":"77","article-title":"DyGen: automatic generation of high-coverage tests via mining gigabytes of dynamic traces","author":"Thummalapenta","year":"2010"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib25","series-title":"Proceedings of ICSE","first-page":"75","article-title":"Feedback-directed random test generation","author":"Pacheco","year":"2007"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib26","series-title":"Proceedings of ISSTA","first-page":"123","article-title":"Korat: automated testing based on java predicates","author":"Boyapati","year":"2002"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib27","series-title":"Proceedings of ESEC\/FSE","first-page":"253","article-title":"Parameterized unit tests","author":"Tillmann","year":"2005"},{"issue":"7","key":"10.1016\/B978-0-12-396526-4.00004-7_bib28","doi-asserted-by":"crossref","first-page":"385","DOI":"10.1145\/360248.360252","article-title":"Symbolic execution and program testing","volume":"19","author":"King","year":"1976","journal-title":"Commun. ACM"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib29","series-title":"Proceedings of POPL","first-page":"238","article-title":"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints","author":"Cousot","year":"1977"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib30","series-title":"Proceedings of ESEC\/FSE","first-page":"263","article-title":"CUTE: a concolic unit testing engine for C","author":"Sen","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib31","series-title":"Proceedings of PLDI","first-page":"213","article-title":"DART: directed automated random testing","author":"Godefroid","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib32","series-title":"Proceedings of POPL","first-page":"47","article-title":"Compositional dynamic test generation","author":"Godefroid","year":"2007"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib33","series-title":"Proceedings of TACAS","first-page":"337","article-title":"Z3: an efficient smt solver","author":"Mendonca de Moura","year":"2008"},{"issue":"11","key":"10.1016\/B978-0-12-396526-4.00004-7_bib34","doi-asserted-by":"crossref","first-page":"1025","DOI":"10.1002\/spe.602","article-title":"JCrasher: an automatic robustness tester for Java","volume":"34","author":"Csallner","year":"2004","journal-title":"Software Prac. Exp."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib35","series-title":"Proceedings of ISSTA","first-page":"353","article-title":"Combined static and dynamic automated test generation","author":"Zhang","year":"2011"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib36","series-title":"Runtime Verification","first-page":"76","article-title":"State joining and splitting for the symbolic execution of binaries","author":"Hansen","year":"2009"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib37","series-title":"Proceedings of DSN","first-page":"359","article-title":"Fitness-guided path exploration in dynamic symbolic execution","author":"Xie","year":"2009"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib38","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1002\/stvr.294","article-title":"Search-based software test data generation: a survey","volume":"14","author":"Mcminn","year":"2004","journal-title":"Software Test. Verif. Reliab."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib39","unstructured":"QuickGraph, 2008. http:\/\/www.codeproject.com\/KB\/miscctrl\/quickgraph.aspx. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib40","series-title":"Proceedings of TACAS","first-page":"553","article-title":"Generalized symbolic execution for model checking and testing","author":"Khurshid","year":"2003"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib41","series-title":"Proceedings of ISSTA","first-page":"119","article-title":"Evolutionary testing of classes","author":"Tonella","year":"2004"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib42","series-title":"Proceedings of ASE","first-page":"297","article-title":"Improving structural testing of object-oriented programs via integrating evolutionary testing and symbolic execution","author":"Inkumsah","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib43","series-title":"Proceedings of GECCO","first-page":"1013","article-title":"Evolutionary testing of state-based programs","author":"McMinn","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib44","series-title":"Proceedings of ESEC\/FSE","first-page":"193","article-title":"MSeqGen: object-oriented unit-test generation via mining source code","author":"Thummalapenta","year":"2009"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib45","series-title":"Proceedings of OOPSLA","article-title":"Synthesizing method sequences for high-coverage testing","author":"Thummalapenta","year":"2011"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib46","series-title":"Proceedings of ASE","first-page":"337","article-title":"A unified fitness function calculation rule for flag conditions to improve evolutionary testing","author":"Liu","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib47","series-title":"Proceedings of TACAS","first-page":"365","article-title":"Symstra: a framework for generating object-oriented unit tests using symbolic execution","author":"Xie","year":"2005"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib48","unstructured":"Microsoft Research Code Contracts, 2009. http:\/\/research.microsoft.com\/en-us\/projects\/contracts. Accessed December 2011."},{"issue":"3","key":"10.1016\/B978-0-12-396526-4.00004-7_bib49","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1007\/s10851-006-8530-6","article-title":"Tool-assisted unit-test generation and selection based on operational abstractions","volume":"13","author":"Xie","year":"2006","journal-title":"Autom. Software Eng. J."},{"issue":"4","key":"10.1016\/B978-0-12-396526-4.00004-7_bib50","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1109\/MS.2006.117","article-title":"Unit tests reloaded: parameterized unit testing with symbolic execution","volume":"23","author":"Tillmann","year":"2006","journal-title":"IEEE Software"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib51","series-title":"Proceedings of ECOOP","first-page":"380","article-title":"Augmenting automatically generated unit-test suites with regression oracle checking","author":"Xie","year":"2006"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib52","series-title":"Working Effectively with Legacy Code","author":"Feathers","year":"2004"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib53","series-title":"Proceedings of ISSTA","first-page":"169","article-title":"From Daikon to Agitator: lessons and challenges in building a commercial tool for developer testing","author":"Boshernitsan","year":"2006"},{"issue":"2","key":"10.1016\/B978-0-12-396526-4.00004-7_bib54","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1109\/32.908957","article-title":"Dynamically discovering likely program invariants to support program evolution","volume":"27","author":"Ernst","year":"2001","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib55","series-title":"Proceedings of ICSE","first-page":"611","article-title":"Precise identification of problems for structural test generation","author":"Xiao","year":"2011"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib56","unstructured":"Eclipse, 2001. http:\/\/www.eclipse.org\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib57","series-title":"Extreme Programming Explained: Embrace Change","author":"Beck","year":"2004"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib58","series-title":"Agile Software Development with Scrum","author":"Schwaber","year":"2001"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib59","series-title":"Introduction to Software Testing","author":"Ammann","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib60","unstructured":"J. Erdfelt, J. Lewis, Grzegorz Lukasik, Ji Mare, Jeremy Thomerson, Cobertura, 2005. http:\/\/cobertura.sourceforge.net\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib61","unstructured":"NCover, 2004. http:\/\/ncover.sourceforge.net\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib62","series-title":"Proceedings of TAP","first-page":"171","article-title":"Parameterized unit testing with Pex","author":"de Halleux","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib63","series-title":"Proceedings of FoSER","first-page":"415","article-title":"Future of developer testing: building quality in code","author":"Xie","year":"2010"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib64","first-page":"3","article-title":"Proofs from tests","volume":"36","author":"Beckman","year":"2008","journal-title":"IEEE Trans. Software Eng."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib65","series-title":"Proceedings of the SIGSOFT, Portland, Oregon","first-page":"117","article-title":"Synergy: a new algorithm for property checking","author":"Gulavani","year":"2006"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib66","series-title":"International Conference on Software Engineering, Leipzig, Germany","article-title":"Dysy: dynamic symbolic execution for invariant inference","author":"Csallner","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib67","series-title":"International Conference on Software Engineering","first-page":"213","article-title":"Dynamically discovering likely program invariants to support program evolution","author":"Ernst","year":"1999"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib68","series-title":"International Conference on Information Technology: New Generations","first-page":"758","article-title":"Automated testing of environment-dependent programs\u2014a case study of modeling the file system for pex","author":"Kong","year":"2009"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib69","series-title":"International Conference on Software Engineering","first-page":"149","article-title":"An empirical study of testing file-system-dependent software with mock objects","author":"Marri","year":"2009"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib70","series-title":"Workshops on Database Theory","article-title":"Endo-testing: unit testing with mock objects","author":"Mackinnon","year":"2001"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib71","series-title":"Proceedings of the IEEE\/ACM International Conference on Automated Software Engineering, Automated Software Engineering, Antwerp, Belgium","first-page":"289","article-title":"MODA: Automated test generation for database applications via mock objects","author":"Taneja","year":"2010"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib72","series-title":"Proceedings of the 48th International Conference on Objects, Models, Components, Patterns, Technology of Object-Oriented Languages and Systems","first-page":"253","article-title":"Moles: tool-assisted environment isolation with closures","author":"de Halleux","year":"2010"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib73","series-title":"Model-Based Software Testing and Analysis with C#","author":"Jacky","year":"2008"},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib74","unstructured":"Microsoft Research CHESS, 2007. http:\/\/research.microsoft.com\/projects\/chess\/. Accessed December 2011."},{"key":"10.1016\/B978-0-12-396526-4.00004-7_bib75","series-title":"Proceedings of OSDI","first-page":"267","article-title":"Finding and reproducing heisenbugs in concurrent programs","author":"Musuvathi","year":"2008"}],"container-title":["Advances in Computers","Advances in Computers Volume 85"],"original-title":[],"deposited":{"date-parts":[[2018,11,24]],"date-time":"2018-11-24T02:26:21Z","timestamp":1543026381000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/B9780123965264000047"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"references-count":75,"URL":"https:\/\/doi.org\/10.1016\/b978-0-12-396526-4.00004-7","relation":{},"ISSN":["0065-2458"],"issn-type":[{"value":"0065-2458","type":"print"}],"subject":[],"published":{"date-parts":[[2012]]}}}