Lingming Zhang Assistant Professor Web: http://www.utdallas.edu/~lxz144130 Department of Computer Science Erik Jonsson School of Engineering & Computer Science The University of Texas at Dallas T +1-972-883-3573 B [email protected] ECSS 4.205 UTD, Richardson, TX 75080 Research Interests Software Engineering, in particular: Test/Oracle Generation, Automated Bug Localization and Repair, Regression Testing, Mutation Testing, and Program Analysis. Formal Methods and Programming Languages, in particular: Symbolic Execution, Model Checking, First-Order Logic, Program Invariant Inference, and Points-to Analysis. Academic Experience 2014 – NOW 2011 – 2014 Assistant Professor, The University of Texas at Dallas, USA Research Assistant, The University of Texas at Austin, USA Education Background 2010 – 2014 2007 – 2010 2003 – 2007 Ph.D. in Software Engineering, The University of Texas, Austin, USA Software Verification, Validation and Testing Group GPA: 3.91, Advisor: Sarfraz Khurshid ([email protected]) M.S. in Computer Science, Peking University, Beijing, China Software Testing and Program Analysis Research Group GPA: 3.80, Advisor: Lu Zhang ([email protected]) B.S. in Computer Science, Nanjing University, Nanjing, China Journal Publications [J3] [J2] [J1] Dan Hao, Lingming Zhang, Lu Zhang, Gregg Rothermel, and Hong Mei. A Unified TestCase Prioritization Approach. ACM Transactions on Software Engineering and Methodology (TOSEM 2015), 24(2): 10:1-10:31. An extended version of our ICSE 2013 paper. Lingming Zhang, Miryung Kim, Sarfraz Khurshid. FaultTracer: A Spectrum-Based Approach to Localizing Failure-Inducing Program Edits. Journal of Software Maintenance and Evolution (JSME 2013), Vol. 25, Issue 12, Pages 1357–1383. An extended version of our ICSM 2011 paper. Hong Mei, Dan Hao, Lingming Zhang, Lu Zhang, Gregg Rothermel. A Static Approach to Prioritizing JUnit Test Cases. IEEE Transactions on Software Engineering (TSE 2012), Vol.38, No.6, pages 1258-1275, November 2012. An extended version of our ICSM 2009 paper. Conference Publications [C28] [C27] [C26] Owolabi Legunsen, Farah Hariri, August Shi, Yafeng Lu, Lingming Zhang, and Darko Marinov. An Extensive Study of Static Regression Test Selection in Modern Software Evolution. In In Proceedings of 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE’16), pages 583-594, Nov. 2016. Jie Zhang, Yiling Lou, Lingming Zhang, Dan Hao, Lu Zhang, Hong Mei. Isomorphic Regression Testing: Executing Uncovered Branches without Test Augmentation. In In Proceedings of 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE’16), pages 883-894, Nov. 2016. Hua Zhong, Lingming Zhang, Sarfraz Khurshid. Combinatorial Generation of Structurally Complex Test Inputs for Commercial Software Applications. In In Proceedings of 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE’16), Industry track, pages 981-986, Nov. 2016. 1/6 [C25] [C24] [C23] [C22] [C21] [C20] [C19] [C18] [C17] [C16] [C15] [C14] [C13] [C12] [C11] Junjie Chen, Yanwei Bai, Dan Hao, Lingming Zhang, Lu Zhang, Bing Xie and Hong Mei. Supporting Oracle Construction via Static Analysis. In Proceedings of 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016), pages 178-189, Sept. 2016. Jie Zhang, Ziyi Wang, Lingming Zhang, Dan Hao, Lei Zang, Shiyang Cheng and Lu Zhang. Predictive Mutation Testing. In Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA 2016), pages 342-353, July 2016. Hua Zhong, Lingming Zhang, Sarfraz Khurshid. The comKorat Tool: Unified Combinatorial and Constraint-based Generation of Structurally Complex Tests. In Proceedings of the 8th NASA Formal Methods Symposium (NFM 2016), pages 107-113, June 2016. Yafeng Lu, Yiling Lou, Shiyang Cheng, Lingming Zhang, Dan Hao, Yangfan Zhou, Lu Zhang. How Does Regression Test Prioritization Perform in Real-World Software Evolution? In Proceedings of the 38th IEEE/ACM International Conference on Software Engineering (ICSE 2016), pages 535-546, May 2016. Tao Ye, Lingming Zhang, Linzhang Wang, Xuandong Li. An Empirical Study on Detecting and Fixing Buffer Overflow Bugs. In Proceedings of the IEEE International Conference on Software Testing, Verification and Validation (ICST 2016), pages 91-101, April 2016. Shiyu Dong, Oswaldo Olivo, Lingming Zhang, Sarfraz Khurshid. Studying the Influence of Standard Compiler Optimizations on Symbolic Execution. In Proceedings of the 26th IEEE International Symposium on Software Reliability Engineering (ISSRE 2015), pages 205-215, Nov. 2015. Xianglong Kong, Lingming Zhang, W. Eric Wong, Bixin Li. Experience Report: How Do Techniques, Programs, and Tests Impact Automated Program Repair? In Proceedings of the 26th IEEE International Symposium on Software Reliability Engineering (ISSRE 2015), pages 194-204, Nov. 2015. Xiaoyin Wang, Lingming Zhang, Philip Tanofsky. Experience Report: How is Dynamic Symbolic Execution Different from Manual Testing? - A Study on KLEE. In Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA 2015), pages 199-210, Experience paper, July 2015. Ripon K. Saha, Lingming Zhang, Sarfraz Khurshid, Dewayne E. Perry. An Information Retrieval Approach for Regression Test Prioritization Based on Program Changes. In Proceedings of the 37th IEEE/ACM International Conference on Software Engineering (ICSE 2015), pages 268-279, May 2015. Hao Tang, Xiaoyin Wang, Lingming Zhang, Lu Zhang, Bing Xie, Hong Mei. SummaryBased Context-Sensitive Data-Dependence Analysis in Presence of Callbacks. In Proceedings of the 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2015), pages 83–95, January 2015. Lingming Zhang, Guowei Yang, Neha Rungta, Suzette Person, Sarfraz Khurshid. FeedbackDriven Dynamic Invariant Discovery. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2014), pages 362-372, July 2014. Lingming Zhang, Lu Zhang, Sarfraz Khurshid. Injecting Mechanical Faults to Localize Developer Faults for Evolving Software. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (SPLASH/OOPSLA 2013), pages 765-784, October 2013. Lingming Zhang, Milos Gligoric, Darko Marinov, Sarfraz Khurshid. Operator-based and Random Mutant Selection: Better Together. In Proceedings of the 28th IEEE/ACM Conference on Automated Software Engineering (ASE 2013), pages 92-102, November 2013. Lingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel and Hong Mei. Bridging the Gap Between the Total and Additional Test-Case Prioritization Strategies. In Proceedings of the 35th IEEE/ACM International Conference on Software Engineering (ICSE 2013), pages 192201, May 2013. Lingming Zhang, Darko Marinov, Sarfraz Khurshid. Faster Mutation Testing Inspired by Test Prioritization and Reduction. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2013), pages 235-245, July 2013. 2/6 [C10] [C9] [C8] [C7] [C6] [C5] [C4] [C3] [C2] [C1] Milos Gligoric, Lingming Zhang, Cristiano Pereira and Gilles Pokam. Selective Mutation Testing for Concurrent Code. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2013), pages 224-234, July 2013. Lingming Zhang, Darko Marinov, Lu Zhang, Sarfraz Khurshid. Regression Mutation Testing. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2012), pages 331-341, July 2012. Lingming Zhang, Miryung Kim, Sarfraz Khurshid. FaultTracer: A Change Impact and Regression Fault Analysis Tool for Evolving Java Programs. In Proceedings of the 20th ACM SIGSOFT International Symposium on the Foundation of Software Engineering (FSE 2012), tool demonstration track, pages 40:1-4, November 2012. Lingming Zhang, Darko Marinov, Lu Zhang, Sarfraz Khurshid. An Empirical Study of JUnit Test-Suite Reduction. In Proceedings of the 22nd IEEE International Symposium on Software Reliability Engineering (ISSRE 2011), pages 170-179, November 2011. Shadi Abdul Khalek, Guowei Yang, Lingming Zhang, Darko Marinov, Sarfraz Khurshid. TestEra: A Tool for Testing Java Programs Using Alloy Specifications. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), tool demonstration track, pages 608-611, November 2011. Lingming Zhang, Miryung Kim, Sarfraz Khurshid. Localizing Failure-Inducing Program Edits Based on Spectrum Information. In Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM 2011), pages 23-32, September 2011. Invited to the Special Issue of Journal of Software Maintenance and Evolution (JSME). Lingming Zhang, Tao Xie, Lu Zhang, Nikolai Tillmann, Jonathan de Halleux. Test Generation via Dynamic Symbolic Execution for Mutation Testing. In Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010), pages 1-10, September 2010. Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang, and Hong Mei. Prioritizing JUnit Test Cases in Absence of Coverage Information. In Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM 2009), pages 19-28, September 2009. Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang, and Hong Mei. Jtop: Managing JUnit Test Cases in Absence of Coverage Information. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), tool demonstration track, pages 677-679, November 2009. Dan Hao, Lingming Zhang, Lu Zhang, Jiasu Sun and Hong Mei. VIDA: Visual Interactive Debugging. In Proceedings of the 31st IEEE/ACM International Conference on Software Engineering (ICSE 2009), tool demonstration track, pages 583-586, May 2009. Industry Experience Summer 2013 Summer 2013 Fall 2012 Summer 2012 Google Summer of Code – Participant Participated in the 2013 Google Summer of Code. Worked with NASA Ames and NASA Langley research labs on the iDiscovery project. Designed and implemented an automated approach guided by symbolic execution and model checking for generating higher-quality program invariants. eBay Inc., Austin – Intern Worked as a software intern for building test sharing and reusing infrastructure for various eBay development teams. Implemented the project using various web-development tools and frameworks, e.g., Spring, ActiveMQ, MongoDB, and so on. The project was highly rated by our manager and director, and was invited for a formal demonstration in eBay San Jose. Intel Inc., Silicon Valley – Collaborator Collaborated with Intel Labs at Silicon Valley in automated evaluation of testing techniques for concurrent code. Implemented CoMutation, an automated test evaluation framework for concurrent code based on mutation testing. Performed the first study on reducing the cost of mutation testing for concurrent code using selective mutation. eMetric Inc., Berkeley – Intern 3/6 2009 – 2010 2008 – 2009 Worked as a team leader for building automated test generation infrastructure for web-based systems. Used Selenium to automatically generate actual test events based on various strategies. Used JSCoverage to evaluate the quality of generated test events and guide the further generation. Found more than 50 bugs during the internship. Microsoft Research, Redmond – Collaborator Collaborated with the Foundations of Software Engineering group in automated test generation. Used mutation testing to guide symbolic execution. Used the Microsoft Pex engine with Z3 SMT solver to solve mutant-killing constraints and generate high-quality test inputs. IBM China Software Development Lab (IBM CSDL), Beijing – Intern Worked as an intern in the InfoSphere Replication Server Testing group. Manually designed test cases to expose possible faults. Used Perl scripts to automatically test the IBM DB2 system and its interaction with other systems. Teaching Experience Spring 2016 Fall 2015 Spring 2015 Fall 2014 Spring 2013 Spring 2009 Instructor, Software Testing and Validation, and Verification (CS/CE/SE6367), The University of Texas at Dallas Instructor, Software Engineering (CS/CE/SE3354), The University of Texas at Dallas Instructor, Advanced Software Testing and Verification (CS/SE6301), The University of Texas at Dallas Instructor, Software Engineering (CS/SE/CE3354), The University of Texas at Dallas Teaching Assistant, Software Testing (EE360T/EE382V), The University of Texas at Austin Teaching Assistant, Multi-Agent Technology, Peking University, China Honors and Awards Feb. 2016 Nov. 2014 Nov. 2013 May. 2013 Nov. 2012 Jan. 2010 Nov. 2009 Sep. 2009 Apr. 2009 Sep. 2008 Aug. 2008 Sep. 2006 Sep. 2005 Sep. 2004 Sep. 2004 Google Faculty Research Award (USD46,500) Nanjing University Oversea Collaboration Grant on “Automated Program Repair” (RMB 30,0000) Chinese Government Award for Outstanding Students Abroad Nominee: 500 outstanding Chinese oversea students selected across 29 countries ACM SigSoft CAPS Travel Grant for attending ICSE 2013 (USD500) ACM SigSoft CAPS Travel Grant for attending FSE 2012 (USD500) Chiang Chen Oversea PHD Fellowship (USD50,000), awarded to 10 students in the whole China: only 1 student selected from Peking University International Academic Exchange Scholarship (RMB10,000), Peking University Suzhou Industry Scholarship (RMB5,000), Peking University Morgan Stanley Research Fellowship (RMB10,000) Kwang-Hua Scholarship (RMB3,000), Peking University Excellent Volunteer of the 29th Olympics, Technique Team, National Stadium Second-class people’s Scholarship (RMB3,000), Nanjing University Scholarship of Song Ching Ling Foundation (RMB3,000), Nanjing University Scholarship of Song Ching Ling Foundation (RMB3,000), Nanjing University Distinguished Student Award (for social work), Nanjing University Expertise and Skills Systems Languages Tools Windows, Mac, and Linux Java, C#, C++, C, JavaScript, SQL, HTML, Alloy, and SMT Eclipse, Visual Studio, JUnit, MbUnit, ASM Bytecode Manipulation Framework, Eclipse JDT, Common Compiler Infrastructure, Java PathFinder, Javalanche, Pex, Selenium, JSCoverage, MySQL, IBM DB2, Subversion, Git, MongoDB, ActiveMQ, Raptor, Spring, jQuery, IBM Symphony ILP Solver, and Z3 SMT Solver Professional Service Social Media Co-Chair PC Member 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016) 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016) 4/6 PC Member PC Member PC Member PC Member PC Member PC Member PC Member AEC Member AEC Member PC Member Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Co-Reviewer Volunteer IEEE International Conference on Software Testing, Verification and Validation (ICST 2016) 40th Annual International Computer, Software & Applications Conference (COMPSAC 2016) 4th International Workshop on Software Mining (SoftwareMining-2015) 39th Annual International Computer, Software & Applications Conference (COMPSAC 2015) IEEE International Conference on Software Quality, Reliability & Security (QRS 2015) 30th IEEE International Conference on Software Maintenance (ICSM 2014) 25th IEEE International Symposium on Software Reliability Engineering (ISSRE 2014) ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2014) International Symposium on Software Testing and Analysis (ISSTA 2014) 29th IEEE International Conference on Software Maintenance (ICSM 2013) IEEE Transaction on Software Engineering and Methodology (TOSEM 2015) Journal of Computer Science and Technology (JCST2015) Transactions on Reliability (ToR 2015) Journal of Software: Evolution and Process (JSEP 2015) IEEE Transaction on Software Engineering (TSE 2015) Journal of Systems and Software (JSS 2015) Journal of Software Testing, Verification and Reliability (STVR 2015) IEEE Transaction on Software Engineering (TSE 2014) Journal of Systems and Software (JSS 2014) Transactions on Reliability (ToR 2014) Journal of Software: Practice and Experience (SPE 2014) Journal of Information Science and Engineering (JISE 2014) Journal of Software Testing, Verification and Reliability (STVR 2014) IEEE Transaction on Software Engineering (TSE 2013) Journal of Software Testing, Verification and Reliability (STVR 2013) IEEE Transaction on Software Engineering (TSE 2012) The ACM International Symposium on Software Testing and Analysis (ISSTA 2015) 8th International Conference on Software Testing, Verification and Validation (ICST 2015) 22rd International Symposium on the Foundations of Software Engineering (FSE 2014) International Symposium on Software Testing and Analysis (ISSTA 2014) 28th IEEE/ACM Conference on Automated Software Engineering (ASE 2013) 21rd International Symposium on the Foundations of Software Engineering (FSE 2013) 6th International Conference on Software Testing, Verification and Validation (ICST 2013) 11th ACM Workshop on Program Analysis for Software Tools and Engineering (PASTE 2013) 28th ACM Symposium On Applied Computing (SAC 2013) 20th International Symposium on the Foundations of Software Engineering (FSE 2012) 18th International Symposium on Formal Methods (FM 2012) 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012) IEEE Transaction on Software Engineering (TSE 2011) 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011) International Symposium on Software Testing and Analysis (ISSTA 2011) The Java PathFinder Workshop 2011 24th IEEE International Conference on Software Maintenance (ICSM 2008) Conference Talks ASE 2013 OOPSLA 2013 ISSTA 2013 ISSTA 2013 Operator-based and Random Mutant Selection: Better Together, Nov. 2013. Injecting Mechanical Faults to Localize Developer Faults for Evolving Software, Oct. 2013. Faster Mutation Testing Inspired by Test Prioritization and Reduction, Jul. 2013. Selective Mutation Testing for Concurrent Code, Jul. 2013. 5/6 ICSE 2013 FSE 2012 ISSTA 2012 ISSRE 2011 ICSM 2011 ICSM 2009 Bridging the Gap Between Total and Additional Test Prioritization Strategies, May 2013. A Change Impact and Regression Fault Analysis Tool for Evolving Java Programs, Nov. 2012. Regression Mutation Testing, Jul. 2012. An Empirical Study of JUnit Test-Suite Reduction, Nov. 2011. Localizing Failure-Inducing Program Edits Based on Spectrum Information, Sep. 2011. Prioritizing JUnit Test Cases in Absence of Coverage Information, Sep. 2009. Guest Lectures July 2015 Jan. 2015 Apr. 2014 Apr. 2014 Mar. 2014 Jan. 2014 Nov. 2013 Nov. 2013 Nov. 2013 Mar. 2013 Feb. 2013 Nov. 2012 Sep. 2012 Apr. 2012 Feb. 2012 Jun. 2011 Chinese Academy of Sciences. How is Dynamic Symbolic Execution Different from Manual Testing? - A Study on KLEE, invited by Prof. Jian Liu. Nanjing University. Feedback-Driven Dynamic Invariant Discovery, invited by Prof. Linzhang Wang. IBM Research T.J. Watson. Unifying Manual and Mechanical Changes for Better Software Testing, invited talk. University of Houston. Unifying Manual and Mechanical Changes for Better Software Testing, invited talk. University of Texas at Dallas. Unifying Manual and Mechanical Changes for Better Software Testing, invited talk. Rochester Institue of Technology. Unifying Manual and Mechanical Changes for Better Software Testing, invited talk. University of Illinois at Urbana-Champaign. Regression Testing and Mutation Testing in Tandem, invited by Prof. Darko Marinov. University of Texas at San Antonio. Using Regression Mutation Testing to Detect and Localize Software Bugs, invited by Prof. Xiaoyin Wang. University of Texas at Austin. Localizing Failure-Inducing Program Edits Based on Spectrum Information, Course EE461L by Prof. Miryung Kim, Software Engineering and Design. University of Texas at Austin. FaultTracer: A Change Impact and Regression Fault Analysis Tool for Evolving Java Programs, Course EE382C by Prof. Sarfraz Khurshid, Verification and Validation of Software. University of Texas at Austin. Automated Fault Localization Techniques, Course EE360T by Prof. Sarfraz Khurshid, Software Testing. University of Texas at Austin. Towards Localizing Failure-Inducing Program Edits, Course EE382V by Prof. Sarfraz Khurshid, Verification and Validation of Software. University of Texas at Austin. Introduction to Fault Localization, Course EE382C by Prof. Sarfraz Khurshid, Verification and Validation of Software. University of Texas at Austin. Test generation via Dynamic Symbolic Execution for Mutation Testing, Course EE382C by Prof. Sarfraz Khurshid, Verification and Validation of Software. University of Texas at Austin. Localizing Failure-Inducing Program Edits Based on Spectrum Information, Course EE360T by Prof. Sarfraz Khurshid, Software Testing. Texas Symposium on Software Engineering. TestEra: Testing Java programs using Alloy specifications, invited talk. 6/6
© Copyright 2026 Paperzz