Originally Printed in the Winter/Spring 2012 Newsletter
Mary Lou Soffa is the Owen R. Cheatham Professor and Department Chair of the Computer Science Department at the University of Virginia. From 1977 to 2004, she was a Professor of Computer Science at the University of Pittsburgh and also served as the Dean of Graduate Studies in the College of Arts and Sciences from 1991 to 1996. Mary Lou received the Nico Habermann Award in 2006 for outstanding contributions toward increasing the numbers and successes of underrepresented members in the computing research community. In 1999, she received the Presidential Award for Excellence in Science, Mathematics and Engineering Mentoring. She was elected an ACM Fellow in 1999 and selected as a Girl Scout Woman of Distinction in 2003. She served for ten years on the Board of the Computing Research Association (CRA). She has served on the Executive Committees of both ACM SIGSOFT and SIGPLAN, as well as conference chair, program chair or program committee member of many conferences. She has been a distinguished speaker and keynote speaker at a number of conferences and universities. Her papers have received a number of best paper awards as well as designation of one of the 40 most influential papers in 20 years to appear in the Programming Language Design and Implementation Conference, the premier conference in her area. She has directed 30 Ph.D. students to completion, half of whom are women, and over 50 M.S. students. She currently serves on the ACM Publication Board and was elected in 2008 to serve on the ACM Executive Committee. Mary Lou is a Board member of CRA-W. She served as
Co-chair from 2000 to 2003. With Jan Cuny, she created the Grad Cohort and CAPP Workshops.
Q: As Department Chair at the University of Virginia, what are your goals and the opportunities to make an impact? What attracted you to strive for this position?
I am not sure “strive” is the word I would use. Becoming Department Chair at the University of Virginia was an opportunity that came along at the right time but in a roundabout way. Another department encouraged me to be a candidate for their chair, and I finally decided to apply. When I asked a colleague at the University of Virginia to write a letter of reference for me, he encouraged me to apply for chair there. I was offered both positions but I saw the offer to be the Chair of the Computer Science Department at the UVA as an opportunity and a much needed change for me. The Department is medium sized and has excellent and collaborative researchers. There was the potential to hire junior faculty to make it even stronger. Importantly, the Department supported my commitment to diversity. Another important factor was that my husband, who is an academician, also received a faculty position appointment at UVA. I have been Chair for almost 8 years now – this year is my last year. Much has happened during my two terms. Most importantly, we hired and tenured 5 wonderful junior faculty, with another to be put up this year. A new building was constructed for the home of the Department – we only moved in 6 months ago. We instituted a new BA program in the College of Arts and Sciences, and the number of students wanting to major in CS through this program continues to increase. We have worked on diversity but have not accomplished as much as I would have liked. I have enjoyed my years as Chair, except that the budget situation in Virginia made a number of years very tough for Department Chairs. Not having money to implement new ideas upsets the faculty and asking for money upsets the Dean. Right now, I am very much looking forward to returning to full time faculty status without administrative responsibilities. In both of my administrative positions, Dean of Graduate Studies at Pitt and Department Chair at UVA, I continued to remain active in research and mentoring graduate students, which made it possible to easily move between administrative and full time faculty positions. I would advise any faculty member who does move to an administrative position to maintain their research in case they decide administration is not their cup of tea.
Q: What is your path (background) that brought you to this point in your career?
Many years ago, I received my B.S. degree in mathematics and took a job at General Electric Research Lab in Schenectady, NY as a programmer, although I had had no courses in programming because they did not exist. At the Lab, I was trained to program in Fortran. However, part of my job turned out to include manual computations and some researchers called me a “computer,” which annoyed me no end. I found out that historically, women were hired for manual computation and were called “computers.” The two other programmers in my group at the Lab who trained me were women. In the main part of GE, there were many programmers – probably around 50 sitting in a big room. Interestingly, they were all women. So during this time, programmers were women. Fran Allen also remembers women being the primary programmers. The question is what changed – why did men essentially take over and dominate the programming field? It was probably because the field became so important with high wages. I spent one year at GE and then followed my new husband to graduate school at Ohio State, where I worked on a Ph.D. in mathematics. As a TA at Ohio State, I taught a beginning programming course in Fortran, offered by the Computing Center as there was not a computer science department at the time. After receiving my MS (and my husband received his Ph.D.), I continued my graduate school career as a Ph.D. student in mathematics at the University of Pittsburgh. (My husband received a faculty appointment there.) This was in the 1970s, and there was social turmoil all around. I was doing research in abstract algebra and started to question the relevance of what I was doing. I finally left the mathematics department, and entered the Ph.D. program in sociology, but I stayed in that program only one year. I then took some graduate level courses in philosophy, and did not like this field either. I then entered the Ph.D. program in Environment Acoustics in the School of Public Health at Pitt, trying to find something I felt was relevant and that I liked. As part of this program, I took some computer science courses and finally found a field that I really loved (and still do). After finishing my Ph.D. degree at Pitt, I took a faculty position there. (My husband was an associate professor with tenure at the time at Pitt.) I went from an assistant to associate to a full professor in computer science. In 1990 I took the position of Dean of Graduate Studies in the College of Arts and Sciences and served for 5 years, returning to a faculty position in 1995. I left the University of Pittsburgh in 2004 to become Chair in the Computer Science Department at the University of Virginia (my husband followed me this time) – and here I will stay!
Q: Explain a bit about your current research.
For most of my career, I have been involved in both compiler/systems research and software engineering research. In compilers/systems, my research group is currently working on the challenges of exploiting multi and many cores for application software. An important issue is the contention that occurs for shared resources, including different levels of cache, the front side bus, and memory. We have been working on ways to map threads of applications to cores in order to reduce contention, and at the same time allow collocation of applications. We have developed methods to classify applications as to the resources that they use, as well as dynamically moving threads when we detect contention is happening. Another project is dynamically parallelizing binary code as the application executes. We use execution paths in the form of traces and speculate on branches. This project has been very difficult both conceptually and implementation-wise but we are finally getting very nice results. The value of this work is that legacy code as well as any sequential code can be parallelized transparently, without the user’s involvement. Interestingly, when I did my early work in compilers, I did not have to know much about the architecture of the machine. However, today my students and I have to have a very good background and understanding of machine architecture in order to develop compiler techniques and run time systems. My move to software engineering occurred after I saw a connection between the program analysis that I was doing in compilers and the analysis used in testing software. So most of my work in software engineering has focused on software testing and debugging, both of which need program analysis. A current research project is to analyze program paths rather than basic blocks; that is, perform path-sensitive analysis rather than path-insensitive analysis (which is less precise). Because path-sensitive analysis is very expensive, we developed a demand driven approach to ensure that the analysis is scalable.
Another software engineering project is exploiting the hardware advances in computer architecture to reduce the cost of structural software testing. In particular, we are using hardware performance counters to replace code instrumentation, and thus reduce the overhead in time and memory. Through this approach, we are developing techniques that enable the testing of applications directly on small handheld devices such as cell phones, which have severe power and memory constraints.
Q: What role has professional service played in your career?
Professional service has played a major role in my career, especially in the enjoyment of my career. In particular, my involvement with Anita Borg early on, when she was planning her institute and when she created the Systers lunch groups, had a large impact on me. And my membership in CRA-W has been a major part of my professional and, importantly, personal life. I firmly believe that the groups that have been formed to support women in computing have really changed the face of computing for women forever, and we need to thank them. For the first fourteen years as a faculty member, I was the only woman. When I attended the first Systers lunch group that Anita organized, it was like a breath of fresh air. I realized that many of the challenges and issues that I was having with my career were the same that other women were having, and we could talk about them. My entire impression and feeling about the field changed with the more contacts that I had with women through the women’s groups. We were all working for the same purpose, and we supported one another, forming networks. Not only was the professional interaction valuable to me as a woman researcher but so were the personal interactions. I met many of my best friends through these relationships, some of which also developed into research collaborations. I really feel fortunate to have been involved with women’s groups for many years.
Of course, other types of service, such as conference activities, professional organization activities, NSF panels, etc., have played major parts in my career. It is through these activities that many important contacts and networks are made. The more people that know about you and your work, the more visible you are, which can help in getting good graduate students, getting papers published, securing funding, and being considered for nominations and awards.
Q: What challenges have you had to overcome as a woman leader in the field? What is the most difficult aspect of your career right now?
The feeling of isolation has always been a challenge for me, and as chair, I think it is even worse. For most of my career, I have been the only woman faculty member. I have had wonderful friendships with some of my male colleagues but I always felt “different.” There were problems and issues that I would have liked to discuss but figured either my male colleagues would not be interested or not understand. Unfortunately, being the only woman faculty member, I was typically the one to bring up issues relating to women. During one faculty meeting when we were talking about a woman candidate and someone said she was “too aggressive,” I mentioned that a male candidate had been more aggressive, and that I was concerned that we were treating the woman candidate differently. I was told by the chair “not to bring up the woman’s issue again.” The environment got better as more women faculty were hired. When I arrived at UVA, there was only one other tenured woman. We did hire 2 more and at one time we had 4 women in a faculty of size around 25. These were all strong women and the situation was much improved. Unfortunately, we are now down to 2. Being the Chair further isolates you from the faculty. This is why I depend so much on my wonderful computer science woman friends that I have met over the years.
Q: What accomplishments are you most proud of ? (Be selective as there are so many.)
I am the most proud of the Ph.D. students whom I advised and the research they have produced. At the end of this term, I will have graduated 30 Ph.D. students, half of whom are women and two are minorities. My students are the reason that I love being a faculty member. My students have inspired me, driven me in new research directions, taught me, and shared my love for computer science. They have also tested my patience, confused me, and frustrated me. All together, they have brought me joy and a career which I love. I am proud of each and every one. About half of my students have become faculty members – so I guess I did not turn them off to academia. They have achieved so much – rising to the top in both academia and industry, winning awards and being selected for honors, including ACM Fellows and IEEE Fellows. They are dedicated teachers, researchers, and developers and continue to do such good work. Some have even become my mentors!
Another accomplishment that I am proud of is my efforts for diversity, both for women and minorities. I am especially proud of creating the CRA-W Graduate Cohort with Jan Cuny and getting it funded by industry. Jan and I also created and got funding for the CRA-W Cohort of Associate Professors Program. Both of these programs are still running today after a number of years.
Q: How do you balance work and family?
Balancing work and family has always been a struggle for me, and I am sure it is for most of you. I have two daughters and a husband (and have had many pets, including horses). I now have a daughter who is a single mom of a two-and-a-half-year-old daughter. They live near me, so I am still balancing family and work. I have tried to balance by realizing that sometimes, you can let some things drop while taking care of other things for awhile. So if something very important is happening in my personal life, the paper does not have to go out. As I tell my students, there will always be other conferences to which to submit papers but sometimes only one personal opportunity, such as a graduation. At other times, when a particularly important conference deadline is coming, I try not to feel that I have to be super mom/wife. The difficult task is deciding which is the most important at a time. I have made mistakes, but in general I think I have made good decisions. When I think back over my life, I cannot think of a time that I made the wrong decision in not doing something professionally. But I can think of one instance when my 6th grade daughter was the director of the school play, and the play took place in the afternoon. I had something that I felt I had to attend at work. So I did not go and my husband went instead. I have always regretted that decision, based
on my daughter’s excitement and pride about the play and her disappointment that I could not be there to share it with her. She is now an adult and still remembers that I did not attend!
Q: Do you have any advice for women at any stage of their careers?
First, you can have it all – a great career, family, and personal life. It is tough sometimes but you can do it. It takes planning, sacrifices, and support from friends and family members. You don’t have to write the perfect paper, teach the perfect course, and be a super-mom. No one does, so why do you think you should?
Don’t be discouraged. Everyone gets papers rejected, for example. However, in my experience, I find that women take rejection harder and personally. If a paper is rejected, don’t read the reviews right away. When you do, think about how to improve the paper and not that the work is not good.
For the younger women, don’t forget that women before you had to fight for what you now have. Don’t let opportunities and rights for women fade away. Burn your bras if you have to, the way we did!
Form professional networks of both men and women. It is useful and indeed necessary to have the support of both. Enjoy yourself and have fun.