Curriculum Vita

Mary Jean Harrold

Contents

General Information
NSF ADVANCE Professor of Computing
Center for Experimental Research in Computer Systems (CERCS)
Georgia Tech Information Security Center (GTISC)
Graphics, Visualization, and Usability Center (GVU-Center))
College of Computing
Georgia Institute of Technology
801 Atlantic Drive
Atlanta, GA 30332-0280
E-Mail: harrold@cc.gatech.edu
Personal Web Site: http://www.cc.gatech.edu/~harrold
Group Web Site: http://www.cc.gatech.edu/aristotle
Research Interests
The overall goal of my research is to improve the processes by which software is developed, tested, and maintained. My research to date has involved activities in program-analysis-based software engineering, with an emphasis on regression testing, analysis and testing of imperative and object-oriented software, and development of software tools. My recent research has focused on the investigation of the scalability issues of these techniques, through algorithm development and empirical evaluation.
Education
  • Ph.D., Computer Science, University of Pittsburgh, December, 1988; thesis advisor: Mary Lou Soffa. 
  • M.S., Computer Science, University of Pittsburgh, April 1985.
  • M.A., Mathematics, Marshall University, May 1975.
  • B.A., Mathematics, Marshall University, August 1970.
Professional Experience
  • Professor, College of Computing, Georgia Institute of Technology.  2003.
  • Associate Professor, College of Computing, Georgia Institute of Technology. 2000 - 2003.
  • Assistant Professor, Associate Professor, Department of Computer and Information Science, Ohio State University. 1996 - 1999.
  • Assistant Professor, Department of Computer Science, Clemson University. 1990 - 1995.
  • Visiting Assistant Professor, Department of Computer Science, University of Pittsburgh. 1988 - 1990.
  • Lecturer, Department of Computer Science, University of Pittsburgh. 1985 - 1987.
  • Teaching Assistant, Department of Computer Science, University of Pittsburgh. 1983 - 1985.
  • Secondary Mathematics Teacher, West Virginia, Pennsylvania, and South Carolina. 1970 - 1983.
  •  
External Funding
  • Model-based Impact Analysis for Airbourne Software with Pete Manolios.  Boeing Aerospace Company, January-December 2005, $180,046.
  • Fault Localization Using Dynamic Execution Information and Visualization, IBM FAculty Award, 2005, $27,000.
  • National Center for Women and Information Technology, Georgia Institute of Technology Hub. National Science Foundation, 2004-2008, $350,000.
  • Software Self-awareness Using Dynamic Analysis and Markov Models with Jim Rehg. National Science Foundation, September 2004-August 2007, $320,000.
  • Criteria for Regression Testing of Software, Tata Consultancy Services, January-December  2004, $120,000
  • Model-based Impact Analysis for Airbourne Software with Pete Manolios and Alessandro Orso.  Boeing Aerospace Company, January-December 2004,$180,000.
  • Model-based Impact Analysis  for Airborne Software, with Pete Manolios and Alessandro Orso.  Boeing Aerospace Company, April 2004 - December 2004, $180,000.
  • Criteria for Regression Testing of Software. Tata Consultancy, February 2004 - December 2004, $125,000.
  • Model-based Specification for Airborne Software, with Pete Manolios and Alessandro Orso.  Boeing Aerospace Company, September 2003 - December 2003, $50,000.
  • Scalable Integration Testing of Object-oriented Software: An Empirical Research Program, with Alessandro Orso, Gregg Rothermel. National Science Foundation, September 2003-August 2006, $360,311.
  • Data-flow Analysis for Software Verification, Boeing Aerospace Company, January 2003 - August 2003, $144,000.
  • ITR: Acquiring Accurate Dynamic Field Data Using Lightweight Instrumentation, with Alessandro Orso, Richard Lipton, John Stasko, National Science Foundation, September 2002-August 2005, $400,000.
  • MASSA: Mobile Agent System Security through Analysis, with Alessandro Orso and Giovanni Vigna, National Science Foundation, September 2002-August 2005, $525,000.
  • Software Verification through Interface Analysis and Change Impact anallysis, Boeing Aerospace Company, April 2002 - December 2002, $292,000.
  • Special Projects: Scale-up, Evalulation, and Institutionalization of the CRA Distributed Mentor Project (awarded to Computing Research Association) with Nancy Amato and William Aspray, National Science Foundation, June 2002 - May 2007, $997,300. 
  • NSF ADVANCE Program for Institutional Transformation, September 2001 - August 2006, $500,000.
  • Embedded Systems Quality through Analysis and Testing, The Yamacraw Project, State of Georgia, August 2001 - July 2002, $80,000. 
  • The Application of Flow Analysis to Change Impact Analysis, Boeing Aerospace Company, April 2000 - December 2001, $212,000.
  • Data-Flow Analysis for Large Software Systems. National Science Foundation Award CCR-9988294, September 2000 - August 2003, $320,000.
  • Impact Analysis for Critical Software. Boeing Commercial Airplane Group. January 1999 - December 1999, $130,000.
  • Evaluation and Institutionalization of the Computing Research Association Distributed Mentor Project (awarded to Computing Research Association), with Anne Condon and William Aspray. National Science Foundation Award EIA-9813290, Special Projects Program, July 1998 - June 2001, $624,526.
  • The Application of Flow Analysis to DC3 and Coverage Compliance. Boeing Commercial Airplane Group. March 1998 - December 1998, $70,000.
  • An Empirical Study of Regression Test Suite Prioritization. National Science Foundation Research Opportunity Award Supplement to CCR-9707792, Experimental Software Systems Program, June 1998, May 1999, $25,535.
  • Scalable Program-Analysis-Based Testing and Maintenance: Infrastructure and Experimentation, with Renèe Miller, Adam Porter, and Gregg Rothermel. National Science Foundation Award CCR-9707792, Experimental Software Systems Program, September 1997 - August 2001, $1,553,149 (Research Opportunities for Undergraduates Supplement, June 1998 - May 1999, $5,000).
  • Research in Program Analysis, Testing and Maintenance. National Science Foundation National Young Investigator (NYI) Awards Program CCR-9357811, Software Engineering Program, July 1993 - June 1999, $312,500 (Research Opportunities for Undergraduates Supplement, June 1994 - May 1995, $10,000, June 1998 - May 1999, $5,000).
  • Industry match for National Young Investigator Award. Microsoft, Inc. May 1994 - June 1999, $113,000; Data General Corporation. May 1995 - June 1996, $10,000.
  • A System for Large Scale Experimentation in Software Analysis and Testing. College of Engineering, Ohio State University. Seed Grant Award, January 1996 - June 1997, $18,333.
  • An Interprocedural Analysis System for C Programs. National Science Foundation Software Capitalization Supplement to RIA Award CCR-9109531. Software Engineering Program, June 1993 - May 1994, $22,119.
  • The Application of Data Flow Testing to Integration. National Science Foundation Research Initiation Award CCR-9109531. Software Engineering Program, July 1991 - December 1993, $49,449.
Journal Publications
  • J. A. Jones, A. Orso, and M. J. Harrold, Gammatella:  Visualizing Program-Execution Data for Deployed Software, Information Visualization, vol. 2, no. 2, 2004, pp. 173-188.
  • A. Orso, S. Sinha, and M. J. Harrold. Understanding Data Dependencies in the Presence of Pointers.  ACM Transactions on Software Engineering and Methodology, vol. 13, no. 2,  2004. pp. 199-239.
  • J. A. Jones and M. J. Harrold. Test-suite Reduction and Prioritization for Modified Condition/Decision Coverage, IEEE Transactions on Software Engineering, vol 29, no. 3, March 2003, pp. 195-209.
  • G. Rothermel, M. J. Harrold, J. von Ronne, C. Hong. Empirical Studies of Test Suite Reduction, Journal of Software Testing, Verification, and Reliability V. 4, no. 2, December, 2002. 
  • D. Liang and M. J. Harrold. Equivalence Analysis and its Application in Improving Program Slicing. ACM Transactions on Software Engineering and Methodology, vol. 11, no. 3, July 2002, pp. 347-383.
  • G. Rothermel, R. Untch, C. Chu, M. J. Harrold. Test Case Prioritization. IEEE Transactions on Software Engineering, vol. 27, no. 10, October 2001, pp. 929-948.
  • S. Sinha, M. J. Harrold, G. Rothermel. Interprocedural Control Dependence, ACM Transactions on Software Engineering and Methodology, vol. 10, no. 2, April 2001, pp. 209-254.
  • T. L. Graves, M. J. Harrold, J-M. Kim, A. Porter, G. Rothermel. An Empirical Stufy of Regression Test Selection Techniques. ACM Transactions on Software Engineering and Methodology, vol. 10, no. 2, April 2001, pp. 184-208. 
  • M. J. Harrold, D. Rosenblum, G. Rothermel, and E. Weyuker. Empirical Studies of a Prediction Model for Regression Test Selection. IEEE Transactions on Software Engineering, vol. 27, no. 3, March 2001, pp. 248-263. 
  • M. J. Harrold, G. Rothermel, K. Sayre, R. Wu, and L. Yi. An Empirical Investigation of the Correlation Between Fault-Revealing Test Behavior and Differences in Program Spectra. Journal of Software Testing, Verification, and Reliability, vol. 10, no. 3, September 2000, 171-194. 
  • S. Sinha and M. J. Harrold. Analysis and Testing of Programs With Exception-Handling Constructs. IEEE Transactions on Software Engineering, vol. 6, no. 9, September 2000, pp. 849-871. 
  • G. Rothermel, M. J. Harrold, J. Dedhia. Regression Test Selection for C++ Software, Journal of Software Testing, Verification, and Reliability, vol. 10, no. 6, June 2000, pp. 77-109. 
  • M. J. Harrold. Testing Evolving Software. Journal of System Software, special issue of top scholars in the field of Systems & Software Engineering (1993-1997), vol. 47, no. 2-3, July 1999, pp. 173-181. 
  • R. Pargas, M. J. Harrold, and R. Peck. Test Data Generation Using Genetic Algorithms. Journal of Software Testing, Verification, and Reliability, vol. 9, no. 4, December 1999, pp. 263-282. 
  • G. Rothermel and M. J. Harrold. Empirical Studies of a Safe Regression Test Selection Technique. IEEE Transactions on Software Engineering, vol. 24, no. 6, June 1998, pp. 401-419. 
  • M. J. Harrold, J. Jones, and G. Rothermel. Empirical Studies of Control-Dependence Graph Size. Journal of Empirical Software Engineering, vol. 3, March 1998, pp. 203-211. 
  • G. Rothermel and M. J. Harrold. A Safe, Efficient Algorithm for Regression Test Selection. ACM Transactions on Software Engineering and Methodology, vol. 6, no. 2, April 1997, pp. 173-210. 
  • M. J. Harrold, A. J. Offutt, and K. Tewary. An Approach to Fault Modeling and Fault Seeding Using the Program Dependence Graph. Journal of Systems and Software, vol. 36, no. 3, March 1997, pp. 273-296. 
  • G. Rothermel and M. J. Harrold. Experience with Regression Test Selection. Empirical Software Engineering Journal vol. 2, no. 2, 1997, pp. 178-187. 
  • R. Gupta, M. J. Harrold and M. L. Soffa. Program Slicing-Based Regression Testing Techniques. Journal of Software Testing, Verification, and Reliability, vol. 6, 1996, pp. 83-111. 
  • G. Rothermel and M. J. Harrold. Analyzing Regression Test Selection. IEEE Transactions on Software Engineering, vol. 22, no. 8, August 1996, pp. 529-551. 
  • M. J. Harrold and G. Rothermel. Separate Computation of Alias Information for Reuse. IEEE Transactions on Software Engineering, Special Section of best papers of the 1996 International Symposium on Software Testing and Analysis, vol. 22, no. 7, June 1996, pp. 107-120. 
  • M. J. Harrold and M. L. Soffa. Efficient Computation of Interprocedural Definition-Use Chains. ACM Transactions on Programming Languages and Systems, vol. 16, no. 2, March 1994, pp. 175-204. 
  • M. J. Harrold, R. Gupta and M. L. Soffa. A Methodology for Controlling the Size of a Test Suite. ACM Transactions on Software Engineering and Methodology, vol. 2, no. 3, July 1993, pp. 270-285. 
  • M. J. Harrold and B. A. Malloy. A Unified Interprocedural Program Representation for a Maintenance Environment. IEEE Transactions on Software Engineering, vol.19, no. 6, June 1993, pp. 584-593. 
  • A. J. Offutt, M. J. Harrold and P. Kolte. A Software Metric System for Measuring Module Coupling. Journal of Systems Software, vol. 20, no. 3, March 1993, pp. 295-308 
  • M. J. Harrold and M. L. Soffa. Selection of Data for Integration Testing. IEEE Software, special issue on testing and debugging, March 1991, pp. 58-65. 
Refereed Conference Publications
     
  • T. Apiwattanapong, A. Orso, M. J. Harrold.  Efficient and Precise Dynamic Impact Analysis Using Execute-after Sequences.  Proceedings of the 27th IEEE and ACM-SIGOFT International Conference on Software Engineering (ICSE 2005), May 2005, St. Louis, MO, to appear.
  • A. Orso, N. Shi, and M. J. Harrold. Scaling Regression Testing to Large Software Systems.  Proceedings of the 12th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2004), Newport Beach, CA, pp. 241-252.
  • T. Apiwattanapong, A. Orso, M. J. Harrold.  A Differencing Algorithm for Object-oriented Programs.  Augomated Software Engineering Conference (ASE 2004), September 2004, Linz, Austria, pp. 2-13.  Best Paper Award; ACM SIGSOFT Distinguished Paper Award.
  • J. Bowring, J. Rehg, and M. J. Harrold.  Active Learning for Automatic Classification of Software Behavior..  Proceedings of ACM SIGSOFT International Symposium on Software Testing and analysis (ISSTA 2004), July 2004, Boston MA, pp.
  • S. Sinha, A. Orso, and M. J. Harrold. Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow. Proceedings of the 26th IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE 2004), May 2004, Edinburgh, Scotland, pp. 336-345.
  • A. Orso, T. Apiwattanapong, J. Law, G. Rothermel, and M. J. Harrold.  An Empirical Comparison of Dynamic Impact Analysis Algorithms.  Proceedings of the 26th IEEE and ACM-SIGSOFT International Conference on Software Engineering (ICSE 2004), May 2004, Edinburgh, Scotland, pp. 491-500.
  • A. Orso, T. Apiwattanapong, M. J. Harrold. Leveraging Field Data for Impact Analysis and Regression Testing. Fourth Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2003). September 2003, Helsinki, Finland, pp. 128-137.
  • J. A. Jones, A. Orso, and M. J. Harrold. Visualization of Program-Execution Data for Deployed Software. Proceedings of the ACM Symposium on Software Visualization (SoftVis 2003), June 2003, San Diego, CA, pp. 67-76. ACM SIGSOFT Distinguished Paper Award.
  • T. Apiwattanapong and M. J. Harrold. Selective Path Profiling, Proceedings of the ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2002), November 2002, Charleston, SC, pp. 35-42.
  • J. Bowring, A. Orso, and M. J. Harrold. Monitoring Deployed Software Using Software Tomography, Proceedings of the ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2002), November 2002, Charleston, SC, pp. 2-9.
  • A. Orso, A. Rao, M. J. Harrold. A Technique for Dynamic Updating of Java Software, Proceedings IEEE International Conference on Software Maintenance (ICSM 2002), November 2002, Montreal, Canada, pp. 649-658.
  • A. Orso, D. Liang, M. J. Harrold, R. J. Lipton. GAMMA System: Continuous Evolution of Software After Deployment, Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2002), July 2002, Rome, Italy, pp. 65-69. 
  • D. Liang, M. Pennings, M. J. Harrold. Evaluating the Precision of Static Reference Analysis Using Profiling, Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2002), July 2002, Rome, Italy, pp. 22-32. 
  • J. A. Jones, M. J. Harrold, J. Stasko. Visualization of Test Information to Assist Fault Localization. Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), May 2002, Orlando, Florida, pp. 467-477. 
  • A. Orso, S. Sinha, and M. J. Harrold. Incremental Slicing Based on Data-dependence Types. Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001), November 2001, Florence, Italy, pp. 158-167. 
  • A. Orso, M. J. Harrold, D. Rosenblum, G. Rothermel, M. L. Soffa, H. Do. Using Component Metacontents to Support the Regression Testing of Component-Based Software. Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001), November 2001, Florence, Italy, pp. 716-725. 
  • J. A. Jones and M. J. Harrold. Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage. Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001), November 2001, Florence, Italy, pp. 92-101. 
  • M.J. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, S. Spoon, and A. Gujarathi, Regression Test Selection for Java Software. Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001), October 2001, Tampa Bay, Florida, pp. 312-326. 
  • J. Eagan, M. J. Harrold, J. A. Jones, J. Stasko. Visually Encoding Program Test Information to Find Faults in Software. IEEE Symposium on Information Visualization (InfoViz 2001), October 2001, San Diego, California, pp. 33-36. 
  • D. Liang and M. J. Harrold, Efficient Computation of Parameterized Pointer Information for Interprocedural Analysis. Static Analysis: 8th International Symposium (SAS2001), July 2001, Paris, France, pp. 279-298. 
  • D. Liang, M. Pennings, and M. J. Harrold, Extending and Evaluating Flow-insensitive and Context-insensitive Points-to Analyses for Java. 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE01), June 2001, Snowbird, Utah, pp. 73-79. 
  • A. Orso, S. Sinha, and M. J. Harrold. Effects of Pointers on Data Dependences, Proceedings of the Ninth International Workshop on Program Comprehension, May 2001, Toronto, Ontario, Canada, pp. 39-49. 
  • A. Orso, M. J. Harrold, and D. Rosenblum. Component Metadata for Software Engineering Tasks. Proceedings of the Second International Workshop on Engineering Distributed Objects, November 2000, Irvine, California. 
  • D. Liang and M. J. Harrold. Efficient and Accurate Program Analysis Using Light-Weight Context Recovery. 22nd International Conference on Software Engineering (ICSE'2000), June 2000, Limerick, Ireland, pp. 366-375. 
  • D. Liang and M. J. Harrold. Equivalence Analysis: A General Technique For Improving the Efficiency of Data-Flow Analyses in the Presence of Pointers. ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'99), September 1999, Toulouse, France, pp. 39-46. 
  • D. Liang and M. J. Harrold. Efficient Points-To Analysis For Whole-Program Analysis. Joint Seventh European Software Engineering Conference (ESEC) and Seventh ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE99), September 1999, Toulouse, France, pp. 199-215. 
  • G. Rothermel, R. Untch, C. Chu, M. J. Harrold. Test Case Prioritization: An Empirical Study. International Conference on Software Maintenance, August 1999, Oxford, England, pp. 179-188. 
  • D. Liang and M. J. Harrold. Reuse-Driven Interprocedural Slicing in the Presence of Pointers and Recursion. International Conference on Software Maintenance, August 1999, Oxford, England, pp. 421-432. 
  • S. Sinha and M. J. Harrold. Criteria for Testing Programs With Exception-Handling Constructs. International Conference on Software Maintenance, August 1999, Oxford, England, pp. 265-274. 
  • S. Sinha, M. J. Harrold, and G. Rothermel. System-Dependence-Graph-Based Slicing of Programs with Arbitrary Interprocedural Control Flow. Proceedings of 21th IEEE International Conference on Software Engineering, May 1999, Los Angeles, California, pp. 432-441. 
  • G. Rothermel, M. J. Harrold, J. Ostrin, and C. Hong. An Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites. Proceedings of the International Conference on Software Maintenance, November 1998, pp. 34-43 (best paper award). 
  • S. Sinha and M. J. Harrold. Analysis of Programs with Exception-handling Constructs. Proceedings of IEEE International Conference on Software Maintenance, November 1998, Washington, DC, pp. 358-367. 
  • D. Liang and M. J. Harrold. Representing and Slicing Objects with System Dependence Graphs. Proceedings of IEEE International Conference on Software Maintenance, November 1998, Washington, DC, pp. 348-357. 
  • M. J. Harrold, G. Rothermel, R. Wu, L. Yi. An Empirical Evaluation of Program Spectra. Proceedings of ACM Workshop on Program Analysis for Software Tools and Engineering, June 1998, Montreal, Canada, pp. 83-90. 
  • T. Graves, M. J. Harrold, J. Kim, A. Porter, and G. Rothermel. An Empirical Study of Regression Test Selection Techniques. Proceedings of 20th IEEE International Conference on Software Engineering, April 1998, Kyoto, Japan, pp. 188-197. 
  • M. J. Harrold and Ning Ci. Reuse-Based Interprocedural Slicing. Proceedings of 20th IEEE International Conference on Software Engineering, April 1998, Kyoto, Japan, pp. 74-83. 
  • M. J. Harrold, G. Rothermel, and S. Sinha. Computation of Interprocedural Control Dependence. Proceedings of ACM International Symposium on Software Testing and Analysis, March 1998, Clearwater, Florida, pp. 11-21. 
  • M. J. Harrold, R. J. Miller, A. Porter, G. Rothermel. A Collaborative Investigation of Program-Analysis-Based Testing and Maintenance. Proceedings of International Workshop on Empirical Studies of Software Maintenance, October 1997, Bari, Italy, pp. 51-56. 
  • R. Untch, M. J. Harrold, and A. J. Offutt. TUMS: Testing Using Mutant Schemata. Proceedings of ACM Southeast Conference, April 1997, pp. 174-181. 
  • M. J. Harrold and G. Rothermel. Separate Computation of Alias Information for Reuse. ACM International Symposium on Software Testing and Analysis, January 1996, San Diego, California, pp. 107-120. 
  • L. D. Larsen and M. J. Harrold. Slicing Object-Oriented Software. Proceedings of 18th International Conference on Software Engineering, March 1996, Berlin, Germany, pp. 495-505. 
  • M. J. Harrold, L. Larsen, J. Lloyd, D. Nedved, M. Page, G. Rothermel, M. Singh and M. Smith. Aristotle: A System for Development of Program Analysis Based Tools. Proceedings of 33rd Annual ACM Southeast Conference, March 1995, Clemson, South Carolina, pp. 110-119. 
  • M. J. Harrold and G. Rothermel. Performing Dataflow Testing on Classes. Proceedings of Second ACM SIGSOFT Symposium on the Foundations of Software Engineering, December 1994, New Orleans, Louisiana, pp. 154-163. 
  • K. Tewary and M. J. Harrold. Fault Modeling Using the Program Dependence Graph. Proceedings of IEEE International Symposium on Software Reliability, November 1994, Monterey, California, pp. 136-145. 
  • G. Rothermel and M. J. Harrold. Selecting Regression Tests for Object-Oriented Software. Proceedings of IEEE International Conference on Software Maintenance, September 1994, Victoria, BC, pp. 14-25. 
  • G. Rothermel and M. J. Harrold. Selecting Tests and Identifying Test Coverage Requirements for Modified Software. Proceedings of ACM International Symposium on Software Testing and Analysis, August 1994, Seattle, Washington, pp. 169-184. 
  • G. Rothermel and M. J. Harrold. A Framework for Evaluating Regression Testing Techniques. Proceedings of the 16th International Conference on Software Engineering, May 1994, Sorrento, Italy, pp. 210-210. 
  • G. Rothermel and M. J. Harrold. A Safe, Efficient Algorithm for Regression Test Selection. Proceedings of the Conference on Software Maintenance, September 1993, Montreal, Canada, pp. 358-367. 
  • R. Untch, A. J. Offutt and M. J. Harrold. Mutation Testing using Mutant Schemata. Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis, June 1993, Cambridge, Massachusetts, pp. 139-148. 
  • M. J. Harrold, B. Malloy, G. Rothermel. Efficient Construction of Program Dependence Graphs. Proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis, June 1993, Cambridge, Massachusetts, pp. 160-170. 
  • P. Kolte and M. J. Harrold. Load/Store Range Analysis for Global Register Allocation. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1993, Albuquerque, New Mexico, pp. 268-277. 
  • B. A. Malloy, M. J. Harrold and J. D. McGregor. The Implementation of a Simulation Language using Dynamic Binding. Proceedings of Object-Oriented Simulation Conference, January 1993, San Diego, California, pp. 1-8. 
  • M. J. Harrold and P. Kolte. Combat: A Compiler Based Data Flow Tester. Proceedings of the Pacific Northwest Software Quality Conference, October, 1992, Portland, Oregon, pp. 311-323. 
  • R. Gupta, M. J. Harrold and M. L. Soffa. An Approach to Regression Testing using Slicing. Proceedings of the Conference on Software Maintenance, November, 1992, Orlando, Florida, pp. 299-208. 
  • M. J. Harrold, J. D. McGregor and K. J. Fitzpatrick. Incremental testing of Object-Oriented Class Inheritance Structures. Proceedings of the 14th International Conference on Software Engineering, May 1992, Melbourne, Australia, pp. 68-80. 
  • M. J. Harrold and B. A. Malloy. A Unified Interprocedural Program Representation for a Maintenance Environment. Proceedings of the Conference on Software Maintenance, October 1991, Sorrento, Italy, pp. 138-147. 
  • M. J. Harrold. The Effects of Optimizing Transformations on DataFlow-Adequate Test Sets. Proceedings of the ACM SIGSOFT Fourth Symposium on Software Testing, Analysis, and Verification, October 1991, Victoria, British Columbia, pp. 130-138. 
  • M. J. Harrold, R. Gupta and M. L. Soffa. A Methodology for Controlling the Size of a Test Suite. Proceedings of the Conference on Software Maintenance, November 1990, San Diego, California, pp. 302-310. 
  • M. J. Harrold and M. L. Soffa. Computation of Interprocedural Definition and Use Dependencies. Proceedings of IEEE Computer Society 1990 International Conference on Computer Languages, March 1990, New Orleans, Louisiana, pp. 297-306. 
  • M. J. Harrold and M. L. Soffa. Interprocedural Data Flow Testing. Proceedings of the ACM SIGSOFT Third Symposium on Software Testing, Analysis, and Verification, December 1989, Key West, Florida, pp. 158-167. 
  • M. J. Harrold and M. L. Soffa. An Incremental Data Flow Testing Tool. Proceeding s of the Sixth International Conference on Testing Computer Software, May 1989, Washington, D.C. 
  • M. J. Harrold and M. L. Soffa. An Incremental Approach to Unit Testing during Maintenance. Proceedings of the Conference on Software Maintenance, October 1988, Phoenix, Arizona, pp. 362-367.
Book Chapters
  • M. J. Harrold. Testing: A Roadmap. In The Future of Software Engineering, A. Finkelstein, New York: ACM Press, 2000. 
  • M. J. Harrold and B. A. Malloy. A Unified Interprocedural Program Representation for a Maintenance Environment. In Software Change Impact Analysis, S. Bohner and R. S. Arnold, Los Alamitos, California: IEEE Computer Society Press [Reprinted from A Unified Interprocedural Program Representation for a Maintenance Environment. IEEE Transactions on Software Engineering, vol.19, no. 6, June 1993, pp. 584-593].
Software
  • DejaVu: A Regression Test Selection Tool
    • Developed for C programs using the Aristotle Analysis System 
    • Developed for Ada programs using Rational Software's Apex and TestMate tools 
    • Developed for Java programs using the Java Analysis System.
  • Aristotle Analysis System: A System for Research on and Development of Program-Analysis-Based Tools 
    • Available for download from web site http://www.cc.gatech.edu/aristotle/Tools/dist.html). 
    • Developed for C programs 
  • Java Architecture for Bytecode Analysis (JABA).
    • Developed for Java programs
Academic Honors and Awards
  • ACM Fellow 2003
  • Best Paper Award for JDiff:  A Differencing Algorithm for Java Software, with T. Apiwattanapong and A. Orso, Automated Software Engineering Conference, 2004.
  • NSF ADVANCE Professorship in Computing, Georgia Tech, 2001.
  • 1998 Annual Research Award, College of Engineering, Ohio State University.
  • National Science Foundation National Young Investigator Award, 1994-1999.
  • Andrew Mellon Predoctoral Fellowship, University of Pittsburgh, 1987-88.
Postdoctoral Supervision
  • Saurabh Sinha, Ph.D. Georgia Institute of Technology, July 2002 - August 2004.
  • Alessandro Orso, Ph.D. Politecnico de Milano, March 2000 - August 2004.
  • Macario Polo, Ph.D. Universidad de Castilla-La Manccha, July 2001 - December 2001.
  • Gregg Rothermel, Ph.D. Clemson University, January 1996 - June 1996.
Student Supervision
  • Isabel Twyeffort, Ph.D. in progress
  • Saswat Anand, Ph.D. in progress
  • Yi Zhang, Ph.D. in progress.
  • Nanjuan Shi, Ph.D. in progress (currenly on leave)
  • James A. Jones, Ph.D. in progress, expected graduation, May 2006.
  • Taweesup Apiwattanapong, Ph.D. in progress, expected graduation, May 2006.
  • James Bowring, Ph.D. in progress, expected graduation, May 2006.
  • Donglin Liang, Developing Practical Analyses for Programs with Pointers/References, Ph.D. Georgia Tech, December 2002.
  • Sauarbh Sinha, Static and Dynamic Analysis of Programs that Contain Arbitrary Interprocedural Control Flow, Ph.D. Georgia Tech, August 2002.
  • Gregg Rothermel. Efficient, Effective Regression Testing using Safe Test Selection Techniques, Ph.D. Clemson University, May 1996.
  • Roland Untch, Schema-based Mutation Analysis: A New Test Data Adequacy Assessment Method, Ph.D. Clemson University, December 1995.
  • Heena MacWan, M.S. expected graduation May 2006.
  • Gaurav Sharma, M.S. expected graduation May 2005.
  • Felix Loesch, M. S. Georgia Tech, Visualization of Exception Information for Java Programs, August 2004.
  • Rajiv Ratnam, M.S. Georgia Tech, Regression Testing for Critical Avionics Software, May 2003.
  • Preeti Bhat, M.S. Georgia Tech, A General Framework for Visualizing Program Analysis DataDecember 2002.
  • Manas Tungare, M.S. Georgia Tech, December 2002.
  • Maikel Pennings. M.S. Delft University, December 2002.
  • Ilia Lebedenko. Identification of Test-Case Requirements for Modified Software, M.S. Ohio State University, August 1999.
  • Ning Ci. A Slicing Toolkit for C Programs, M.S. Ohio State University, March 1997.
  • Ramesh Bahukudumbi. Performance Evaluation of Global Register Allocation Using Load/Store Ranges, M.S. Clemson University, May 1996.
  • Manvinder Singh. A System for Analysis of C++ Programs, M.S. Clemson University, May 1996.
  • Laurie Smith. An Investigation of the Relationship Between Dynamic and Static Testability Measures, M.S. Clemson University, December 1995.
  • Michael Smith. MCC: A Modular and Extensible C Compiler, Clemson University, August 1995.
  • John Lloyd. Abstract Execution and Parallelization in Data Flow Testing, M.S. Clemson University, December 1994.
  • Shan Jiang. Integrated Instruction Scheduling and Register Allocation on the MC88110, M.S. Clemson University, May 1994.
  • Kanupriya Tewary. An Approach to Fault Classification and Fault Seeding using the Program Dependence Graph, M.S. Clemson University, December 1993.
  • Rohini Tolani. An Integrated Interprocedural Program Representation for a Maintenance Environment, M.S. Clemson University, December 1992.
  • Priyadarshan Kolte. Load/Store Range Analysis for Global Register Allocation, M.S. Clemson University, August 1992.
  • G. Regan Varenhorst. Alias Detection for Interprocedural Data Flow Analysis, M.S. Clemson University, August 1992.
  • Trent Matuck. Flexible Ordering of Optimizations, M.S. Clemson University, August 1992. 
  • Isaac Jones. Interprocedural Dataflow Testing, B.S. Ohio State University, 2001.
  • Christie Hong. Test Suite Minimization, Ohio State University, B. S. 1999.
  • Melanie Page. Bugsy: A Bug Tracking System, B. S. Clemson University, May 1995 (completed M.S. in Computer Science, Clemson University, May 1998).
  • David Nedved. Database Access Routines for the Aristotle Analysis System, B. S. June 1996 (completed M.S. in Computer Science, Clemson University, May 1998).
Invited Talks
  • Distinguished Lecture Speaker, Department of Computer Science, Rochester Institute of Technology. April 2005.
  • Software Testing:  Past Successes and Future Challenges, Tata Consultancy Services, Pune, India, February 2005
  • Improving the Quality of Deployed Systems through Remote Analysis, Monitoring, and Testing, Tata Consultancy Services, Pune, India, February 2005.
  • Ensuring Quality through Software Testing and Analysis:  Past Successes and Future Challenges, Indian Institute of Science, Bangalore, India, February 2005.
  • Ensuring Quality through Software Testing and Analysis:  Past Successes and Future Challenges, Indian Institute of Technology, Mumbai, India, February 2005.
  • Keynote Address.  2004 Asian Pacific Software Engineering Conference, Busan, South Korea.  December 2004.
  • Distinguished Lecture Speaker, Department of Computer and Information Science, University of Delaware, November 2004.
  • Keynote Address.  Static and Dynamic Analysis of Programs with Explicit 2004 Workshop on Reverse Engineering, Delft, The Netherlands.  November 2004.
  • Distinguished Speaker, Software Testing:  Past Successes and Future Challenges, Pre-ICSE 2006 Workshop on Testing and Analysis of Software, Shanghai, China, October 2004
  • .Keynote Address.  Testing and its Synergies with Formal Verification. 16th International Conference on Computer Aided Verification. July 2004.
  • Distinguished Lecture Speaker, Testing and Analysis of Next Generation Software.  UC Irvine Institute for Software Research, January 2004.
  • Keynote Address.  Multiple Program Executions:  Not Just for Testing Anymore.  Dagstuhl Seminar on Understanding Program Dynamics.  December 2003.
  • Keynote Address.  Understanding Programs Using Dynamic Program Analysis, Tenth International Workshop on Program Comprehension, June 2002, Paris, France.
  • Keynote Address.  Experiences in Transferring Testing Research to Industry.  First International Workshop on Automated Program Analysis, Testing, and Verification, June 2000, Limerick, Ireland
  • Keynote Address.  Testing Object-Oriented Software, 15th International Software Conference, November 1995, Orlando, Florida. 
  •  Understanding Programs Using Dynamic Program Analysis, Tenth International Workshop on Program Comprehension, Paris, France, June 2002.
  • Reducing Testing Costs Using Selective-retest Techniques. IBM T. J. Watson Research Center, July 2001.
  • Automated Testing: Experiences in Demonstrating Effectiveness. First International Workshop on Automated Program Analysis, Testing, and Verification. Limerick, Ireland, June 2000. 
  • Prioritizing Test Suites. Lucent Technologies. Columbus, Ohio, March 1999.
  • Testing Evolving Software. Lucent Technologies. Columbus, Ohio, December 1998.
  • Analysis and Testing of Object-Oriented Software. I.R.S.T Workshop on Software Quality and Object-Oriented Technologies. Trento, Italy. September 1997.
  • Update on Regression Testing, Microsoft, Inc., May 1996.
  • Testing Object-Oriented Software, 15th International Software Testing Conference, November 1995, Orlando, FL.
  • Interprocedural Dataflow Testing, Microsoft, Inc., January 1995.
  • Testing Object-Oriented Programs, National Institute of Standards and Technology (NIST) Computer Systems Laboratory Lecture Series on High Integrity Systems, January 1995.
  • Approaches to Regression Testing, Microsoft, Inc., May 1994.
Professional Activities
  • Computing Research Association (CRA) Board of Directors, 2004-2007.
  • Associate Editor, ACM Transactions on Software Engineering and Methodology, 2005-present.
  • Associate Editor, ACM Transactions on Programming Languages and Systems, 2002-present
  • Associate Editor, IEEE Transactions on Software Engineering, 1998-2003
  • Associate Editor, Empirical Software Engineering Journal, 1998-2003.
  • Vice Chair, ACM SIGSOFT, July 2001 - present.
  • National Center for Women and Information Technology, Member of Leadership Team, July 2003-present, Director of Georgia Tech Center Hub, July 2003-present
  • Program Co-Chair, Twenty-third International Conference on Software Engineering (ICSE23), May 2001.
  • Program Chair, International Symposium on Software Testing and Analysis (ISSTA2000), August 2000.
  • Program Co-Chair, International Conference on Software Maintenance (ICSM97), September 1997, Bari, Italy.
  • Member of NASA Pioneering Revolutionary Technology (PRT) Strategic Program Group s Aeronautics and Space Engineering Board National Research Council, Computing, Information, and Communications Technology (CICT) Panel, 2002-03. 
  • Co-chair of Computing Research Association Committee on the Status of Women in Computer Science and Engineering (CRA-W). Program Director of the Distributed Project, 1998-2001.
  • Member of the Organizational Team for the National Center for Women and Information Technology, 2003-present.
  • Member of the Steering Committee for International Conference on Software Engineering, 1999-present.
  • Member of the Steering Committee for ACM SIGSOFT International Symposium on Software Testing and Analysis, 2000-present.
  • Member of IEEE Computer Society Task Force on Improving Undergraduate Education in Computer Science, 1993 - 1996.
  • Consultant for Lucent Technologies, Columbus, Ohio, on Software Metrics and Testing, 1998 - 2000.
  • Consultant for Borden Foods Company, Columbus, Ohio, on Program Analysis, 1998 - 1999.
  • Consultant for Microelectronics and Computer Technology Corporation on The State of Quality Enabling Software Technologies - The ``State-of-QuEST'', 1996.
  • Participant in University of Washington / Microsoft Research Summer Institute, Seattle, Washington, August 2000. 
  • Participant in NSF International Workshop on the Role of Software Architecture in Testing and Analysis, Marsala, Sicily, Italy, July 1998.
  • Participant in Summer School on Testing, Bari, Italy, June 1993, topics: Data flow testing and object-oriented testing.
Program Committee Membership
  • 26th International Conference on Software Engineering (ICSE 2004), May 2004, St. Louis, Missouri.
  • Doctoral Workshop, 25th International Conference on Software Engineering (ICSE 2003), May 2003, Portland, Oregon.
  • ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA2002), July 2002, Rome, Italy.
  • 24th International Conference on Software Engineering (ICSE 2002), May 2002, Orlando, Florida.
  • Eighth European Software Engineering Conference and Ninth ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE 2001), September 1999, Vienna, Austria.
  • Twenty-second International Conference on Software Engineering (ICSE 22), June 2000, Limerick, Ireland.
  • ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE '99), September 1999, Toulouse, France.
  • Twenty-first International Conference on Software Engineering (ICSE21), May 1999, Los Angeles, California.
  • ACM International Symposium on Software Testing and Analysis (ISSTA98), March 1998, St. Petersburg, Florida.
  • Nineteenth International Conference on Software Engineering (ICSE19), May 1997, Boston, Massachusetts.
  • Fourth ACM SIGSOFT Annual Foundations on Software Engineering (FSE96), October 1996, San Francisco, California.
  • IEEE International Conference on Software Maintenance, (ICSM96), November 4-8, 1996, Monterey, California.
  • Eighteenth International Conference on Software Engineering (ICSE18), March, 1996, Berlin, Germany.
  • Eighth International Software Quality Week, May 30-June 2, 1995, San Francisco, California.
  • Third ACM SIGSOFT Annual Foundations on Software Engineering (FSE95), October 1995, Washington DC.
  • Seventeenth International Conference on Software Engineering (ICSE17), April 24-28, 1995, Seattle, Washington.
  • Ninth ACM SIGPLAN Annual Conference on Object-Oriented Programming Systems, Languages and applications (OOPSLA94), October 23-27, 1994, Portland, Oregon.
  • International Conference on Software Maintenance, (CSM94), September 19-23, 1994, Victoria, British Columbia, Canada.
  • ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA94), August 1994, Seattle, Washington.
  • Seventh International Software Quality Week, May 17-20, 1994, San Francisco, California.
  • IEEE Conference on Software Maintenance (CSM93), September 1993, Quebec, Canada.
  • ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA93), June 23-24, 1993, Cambridge, Massachusetts.
  • IEEE Conference on Software Maintenance (CSM92), November 9-12, 1992, Orlando, Florida.
  • IEEE Conference on Software Maintenance (CSM91), October 14-17, 1991, Sorrento, Italy.
  • Third International Conference on Software Engineering and Knowledge Engineering (SEKE91), affiliated with ACM and IEEE, June 27-29, 1991, Skokie, Illinois.
Special Activities
  • NSF Workshop on Broadening Participation, October 2004
  • National Center for Women and Information Technology (Old Problem, New Solution), Grace Hopper Celebration of Women in Computing 2004, Panel with L. Barker, A. Bernat, S. Hussey, D. J. Richardson, and R. Schnabel
  • CRA-W Distinguished Professor and involvement in CRA-W Cohort of Associate Professors Project (CAPP),
  • CRA-W Graduate Cohort Program, March 2005, speaker and participant
  • CRA-W Distinguished Professor and involvement in CRA-W Cohort of Associate Professors Project (CAPP), 2004.
  • CRA-W Graduate Cohort Program, February 2004, speaker and participant
  • National Center for Women and Information Technology, Member of Planning Team, February-July, 2003.
  • CRA-W Distributed Mentor Project, Summer 2001, Sponsored Rebecca Hutchenson and Kathleen Repine.
  • Senior Women Summit Meeting, September 2000,Cape Cod, Massachusetts, participant
  • How Do We Encourage Women to Pursue Careers in Computer Science, Grace Hopper 2000 Conference, September 2000, Boston, Massachusetts panel member
  • Computing Research Association Mentoring Programs: A Review of Successes and Challenges, and an Opportunity to Grow. Grace Hopper 2000 Conference, September 2000, Boston, Massachusetts, member
Professional Memberships
  • Association for Computing Machinery (ACM) (also SIGSOFT and SIGPLAN). 
  • Institute of Electrical and Electronics Engineers (IEEE), Senior Member.
  • Sigma Xi Scientific Honorary.