A tribute to Mary Jean Harrold

This issue has three research papers. ‘Incremental testing of finite state machines’, by Chaves Pedrosa and Vieira Moura, addresses the scalability problem of designing tests from finite state machines. They use a divide and conquer approach to define combined finite state machines, which allow individual tests to be defined on smaller units and allow test suites to be built incrementally. (Recommended by Byougju Choi.) ‘A survey of code-based change impact analysis techniques’, by Li, Sun, Leung, and Zhang, surveys 30 papers that empirically analyzed 23 change impact analysis techniques. The paper synthesizes these results into a structure of four research questions and proposes several new research questions. (Recommended by Jane Hayes.) ‘Combining weak and strong mutation for a noninterpretive Java mutation system’, by Kim, Ma, and Kwon, looks at the cost of executing mutants in mutation systems. They propose a new way to combine ‘strong’ and ‘weak’ mutation that keeps most of the strength of strong mutation, while achieving much of the cost savings from weak mutation. They adapted the muJava mutation tool to demonstrate their ideas. (Recommended by Rob Hierons.) Note that because of previous papers co-authored with the authors of this paper, Offutt was not involved with its handling. Software engineering lost one of its best last month. And I lost a good friend and role model. I first met Mary Jean Harrold at the 1988 TAV symposium (now the International Symposium on Software Testing and Analysis) and was impressed in every possible way. We finished our PhDs in the same year: I in August at the Georgia Institute of Technology and her in December at the University of Pittsburgh. I joined Clemson University in August 1988 and was excited when she applied for the following year. She accepted our offer, and we spent the next 3 years learning how to be professors together. Her years of teaching high school math helped her start as a terrific teacher, and she continued to improve every year. She was also an ideal mentor. Even as a new assistant professor, she somehow knew exactly how to motivate her students, had the insight to understand what knowledge and skills they lacked, and had the patience and abilities to teach what they needed. She set exacting standards with a kind and respectful demeanor. Most importantly, she earned their loyalty and love. Her students worked harder than anybody else because they wanted to impress her and they knew she was working even harder. I have tried to emulate her advising style for more than 20 years. We co-authored four papers, working with three students. The memories of working on those papers are still bright because we taught each other much about research, problem formulation, writing, and how to respond to reviews. Our PhD advisors had very different styles, and I was able to absorb much of what her advisor, Dr. Mary Lou Soffa, taught her, and I think she absorbed some of what my advisor, Dr. Rich DeMillo, tried to teach me. Those three pre-tenure years at Clemson were incredibly formative and bonding. We also grew up very close geographically. Mary Jean was born and raised in Huntington, West Virginia, and I was raised about 50 miles west, near Morehead, Kentucky. Even 20 years later, she teased me because I thought she came from a big city. I responded by reminding her that her home state was even poorer than mine. Appalachians are few and far between in academia, and we always felt that bond. A sharing of an unusual culture that few understand. I firmly believe that Mary Jean Harrold was the best PhD advisor in all of software engineering. Her deft touch shows; I know immediately when I see one of her students give a talk. She was also a wonderful colleague and great scientist. She focused on some of the deepest and most complicated problems in software analysis, testing, and evolution. She did not just focus on research that works on small problems or in the lab but found solutions that were scalable and usable by real engineers.