This issue has three research papers. Incremental testing of finite state machines, by Chaves Pedrosa and Vieira Moura, address the scalability problem of designing tests from finite state machines. They use a divide and conquer approach to define combined FSMs, which allow individual tests to be defined on smaller units, and 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 ISSTA) and was impressed in every possible way. We finished our PhDs in the same year, me 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 three 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 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ís because they wanted to impress her. And because they knew she was working even harder. Iíve 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 didn't just focus on research that works on small problems or in the lab, but found solutions that were scalable and usable by real engineers. She also disseminated her research with clear and elegant writing. By my count, she published 141 refereed papers. Perhaps most telling, a quick search revealed ten scientists on Google Scholar whose first or second most cited papers were co-authored with MJ Harrold.
Her recipe for success was not complicated. She was smart, picked problems that mattered, worked well with anyone, and worked harder than everyone. For years she worked 362 days a year, only taking Thanksgiving and Christmas off. Saturdays. Sundays. Holidays. When the rest of us were on vacation, she was writing another paper or running another experiment. I asked her once how she had the passion and energy to work so hard. She pointed out that she spent years raising her children and joined academia late. Since she had half the number of years I would have, she needed to work twice as hard to achieve the same amount. That insight was, and still is, incredibly humbling to me. And even more so now.
Her most important asset, however, is that she was simply a wonderful human being. We all admired her and wished we could be more like her. We all wanted to spend time with her because we hoped that some of her essence would rub off. And judging by the many successful scientists she worked with, I think we were right.
When she told me she was ill, I was sure she would recover. How could MJ leave so soon? When I heard she was gone, all I could think of how unfair it was. She deserved more. She deserved the chance to visit us at conferences not to work, but to bask in the respect and love that we all wanted to give her. She deserved more time to herself after retirement. She deserved more time with her husband. She deserved more time with her children. She deserved more time with her grandchildren. And they deserved more of her.
Mary Jean Harrold was more than a great scientist. She was one of the greatest persons I have ever known. Software testing, software engineering, and the world are better because she was here. Can anyone ask for a better legacy?
14 October 2013