Nancy Eickelmann profiled Barbara Ryder for SEN.
Eickelmann: Please elaborate on the work leading up to your achieving the distinction of ACM Fellow.
Ryder: I was honored to be selected as an ACM Fellow in 1998. My research is in the area of compile-time program analysis. My work extends over a period of 17 years, since I earned my doctorate in 1982, although my initial interest and work in the area dates back to my days at AT&T Bell Laboratories in the early 1970's when I was a member of the center which developed UNIX, C and pcc. My work on the PFORT Verifier, a syntax/semantic checker for a portable subset of Fortran66, was my first exploration of software tools to assist programmers. Since then, my best known work has been on interprocedural side effect analyses for C, both algorithm design and empirical validation. More recently, I have been concentrating on the issue of scalability. I consider my work to lie within the overlap of software engineering and programming languages.
My work was recognized previously through the granting of an NSF Faculty Award for Women Scientists and Engineers, 1991-1996, and being named a National Lecturer for ACM, 1985-1988.
I have enjoyed making professional service contributions including recently being General Chair of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99) which is in co-operation with SIGSOFT, and participating in several FSE and ISSTA program committees. I have served on the ACM SIGPLAN Executive Committee for 10 years, as Chair from 1995-1997, Vice Chair for Conferences from 1993-1995, and Chair of the Professional Activities Committee (PAC) 1989-1993. Since July 1998, I have been a member of the Board of Directors of the Computing Research Association (www.cra.org).
Eickelmann: What is the best reference to your work?
Ryder: I'd like to refer the reader to our research group web page www.prolangs.rutgers.edu; our research group's publications are searchable by both date and topic area.
Eickelmann: What are your current research interests?
Ryder: My current research interests include (i.) compile-time program analyses for practical software tools, including program understanding browsers for large software systems, debuggers and compilers; and (ii.) analysis and optimization of object-oriented programs (C++, Java) especially to accommodate new architectures (i.e., VLIW [Very Large Instruction Word]).
Eickelmann: What are your current outside interests?
Ryder: Amateur photography is something I'm very zealous about. I have an automatic focus SLR camera and various lenses that I take pictures with just for the fun of it. I photograph people I know, events I attend, and places I visit. Recently I've had the opportunity to travel abroad through my work. I enjoy walking through and discovering the cities of Europe and recording my experiences with photos. I also enjoy taking photos of our research group in action. Our group enjoys a great deal of esprit de corps, which often comes out in our lively weekly reading group discussions. I've tried to capture some of this on film.
Eickelmann: What was the greatest influence on you?
Ryder: There are four people that have inspired and mentored me, Andries van Dam, Andy Hall, Mary Lou Soffa and Frances Allen. Professor Andries van Dam (Andy, to us) taught me my first computer science course as an undergraduate at Brown University; he had a contagious enthusiasm that made computer science challenging, yet fun. Dr. Andy Hall was my supervisor at Bell Laboratories, who taught me much about how to frame a research problem and then solve it; he allowed me to work independently which was confidence-building and exciting. When I became an academic after earning my doctorate, there were two women researchers that
mentored me early in my career, Professor Mary Lou Soffa (University of Pittsburgh) and Frances Allen, an IBM Fellow at the IBM T.J. Watson Research Center. Both of these women played a significant role in imbuing me with enthusiasm for research and providing me support in the formative stages of my career. Their advice helped me pursue my first grants and learn the survival lessons of an assistant professor.
Eickelmann: What was your greatest influence?
Ryder: As an academic, the greatest influence I can have is in shaping the attitudes of my students. My Ph.D., M.S., and undergraduate students have been influenced by my research emphasis on algorithms and their empirical validation. The impact is hard to measure, but each successive student can build on a legacy of theoretical and empirical rigor. Teaching students how to do research on their own and then to present their accomplishments to others can be very satisfying. Showing undergraduates how to do independent work with our group is especially rewarding.
Eickelmann: Who do you think has made the greatest impact on software engineering?
Ryder: David Parnas, for his work on encapsulation and abstraction.
Eickelmann: What's your favorite story about software engineering or development?
Ryder: Fred Brooks' Mythical Man-Month telling of the development of OS/360.
Eickelmann: Which computer-related areas are most in need of investment by government, business or education?
Ryder: Basic research in computer science has the most pressing need for government funding. Short-term goals are currently emphasized in many successful research proposals whereas more risky, longer-term projects are finding funding very difficult to secure. For the software engineering community issues of scale, distributed computation and concurrency are all-important, but require a long-term commitment of funding and resources.
Eickelmann: What advice do you have for computer science/software engineering students?
Ryder: Two things. First, take courses where you do projects. It is not enough to read and learn about computer science, you need to apply what you learn. Second, concentrate on your communication skills, they really matter! You need to be able to explain what you've done, how it works and perhaps why it is important.
Eickelmann: What is the most often-overlooked risk in software engineering?
Ryder: Lack of knowledge of the current state of the system. There is a disconnect between documentation and implementation that occurs as systems evolve. It is this disconnect that makes understanding program properties more and more difficult, and thereby maintenance more and more risky. This problem motivates our work on analysis for software tools.
Eickelmann: What is the most-repeated mistake in software engineering?
Ryder: Unrealistic development plans. Planning out the work and allowing too little time to achieve overly ambitious goals. This is especially true when too little time is inappropriately allocated to design.
Eickelmann: What are the most exciting/promising software engineering ideas or techniques on the horizon?
Ryder: There are interesting new methods to verify the security of code obtained from a remote source, called "proof-carrying code." As networks become a more standard part of our work context, the idea of exchanging code over the network will become more commonplace and will need to be done in a secure manner. This technique sends a proof with the code (i.e., a property that the code should have) which can be verified by the recipient of the code before using it. This works because proof generation may be difficult, but verification is not. An interesting and potentially valuable technique.
Eickelmann: Please gives us any additional comments for your profile.
Ryder: My main concern as a senior woman in computer science is how to get more women to seriously consider a computer science career. There are too few women in academia and fewer still that hold tenure-track senior research positions. The result is that young women who enter the university see few (or no) role models of successful individuals of their own gender. They also are not prepared to face the range of reactions experienced by women in our field, from full acceptance to subtle coolness to overt hostility directed at women. Failing to educate women concerning the educational and work environment may further discourage women from undergraduate enrollment in computer science and choosing computer science career paths.
The CRA Committee on Women workshops give women researchers the opportunity to discuss research and professional advancement issues in a forum that is aware of and sensitive to the issues women in computer science often face in isolation (www.cra.org/Activities/craw/). The Grace Hopper Conferences provide a wonderful opportunity, especially for younger women, to experience sisterhood with women sharing similar intellectual interests (www.sdsc.edu/Hopper/). The systers and systers-academia (www.cra.org/Activities/craw/sys-aca.html) e-mailing lists provide a resource for advice-sharing in the community. The Douglass Project for Rutgers Women in Science, Math and Engineering runs many programs to recruit and retain women in science studies (www-rci.rutgers.edu/~dougproj/). I serve on the Advisory Board of this project. Many of these programs stress the need for women peer support and exposure to role models (e.g., women professors, women career scientists, and women graduate students).
The recruitment problem starts with the early socialization of women in our society. They are taught attitudes that impede their ability to succeed in the computer science career context. Retention is difficult because of affronts to their self-esteem that are not ordinarily imposed on men. The ability to respond with wit and humor are often the only effective means to deflect the injury and preserve face for everyone involved.
Most importantly, faculty and industrial mentors must encourage and support young women in following career goals in CS. To this end, I am currently the faculty advisor of the Rutgers University Women In Computer SciencE group (WICSE, remus.rutgers.edu/wicse); our monthly meetings during the academic year serve to build community and to inform women students of career options.
Eickelmann: Thank you for taking the time to share your thoughts with us. I have enjoyed this interview and the opportunity to get to know more about you and your path to success in computer science. I am sure the SEN readership will enjoy this window into your career as well.