The University of Texas at Dallas

Erik Jonsson School of Engineering and Computer Science


A Personal Perspective on Program Analysis

Dr. Barbara G. Ryder

A Personal Perspective on Program Analysis
Friday, Mar. 27, 11:00 a.m.
TI Auditorium (ECSS 2.102)

Dr. Barbara G. Ryder
Virginia Tech

ABSTRACT: Program analysis first was used in compilers to guarantee the correctness of program optimizations to save time and space. Early methods of analysis examined code without executing it, also called static analysis. As more complex programming constructs evolved including pointers and objects, new program analysis techniques were developed for many software tools to more accurately estimate possible execution flows through code. Tracing through dynamic analysis augmented static analysis to better estimate possible program behaviors.

Program analysis today is used to verify program properties, ensure that programs do not leak data or use tainted data, help to guarantee real-time properties of code, and still support code transformation. Such analyses support program behavior understanding, even in highly dynamic modern languages such as JavaScript. Program analysis is an enabling technology, providing information necessary to software tools for debugging, testing, proving correctness of code, ensuring code security, software evaluation and software maintenance. The most essential tools for modern software development all depend on program analyses.

This talk will highlight major advances in program analysis techniques and tie them to problems in practical, secure computing.

BIOGRAPHY: Paul Dr. Barbara G. Ryder is an emerita faculty member in the Department of Computer Science at Virginia Tech, where she held the J. Byron Maupin Professorship in Engineering. From 2008-2015 she served as head of the Department of Computer Science at Virginia Tech and retired in 2016.

Previously, Ryder served on the faculty of Rutgers University from 1982 to 2008. She also worked in the 1970s at AT&T Bell Laboratories. Ryder’s research interests on static and dynamic program analyses for object-oriented systems, focus on usage in practical software tools for ensuring the quality and security of industrial-strength applications.

Ryder became a fellow of the Association for Computing Machinery (ACM) in 1998. She received the Institute of Electrical and Electronics Engineering (IEEE) Technical Council on Software Engineering Distinguished Women in Science and Engineering Award, the ACM Special Interest Group on Software Engineering Influential Educator Award and the ACM President's Award. She was selected as a Computing Research Association (CRA) Committee on Widening Participation in Computing Research Distinguished Professor and received the ACM Special Interest Group on Programming Languages (SIGPLAN) Distinguished Service Award. She has been an active leader in ACM as vice president and other roles. She serves as a board member of the CRA. Additionally, Ryder has served as an editorial board member of ACM Transactions on Software Engineering and Methodology, ACM Transactions on Programming Languages and Systems, IEEE Transactions on Software Engineering, Software: Practice and Experience, and Science of Computer Programming.

Ryder received the Virginia American Association of University Women (AAUW) Woman of Achievement Award in 2014. She led the Virginia Tech Department of Computer Science team which tied nationally for second place in the 2016 National Center for Women & Information Technology (NCWIT) NEXT Awards. She is a founding member of the NCWIT Virginia Aspirations in Computing Awards, having co-chaired these awards in 2012-13 and 2014-15 and having served on the organizing committee since 2011. She also was an executive champion for Virginia Tech computer science students at the NCWIT Pacesetters program from 2009 to 2015.

Throughout her tenure, Ryder advised 16 PhD and 3 MS students, and she supervised the research of 4 postdocs and more than 30 undergraduate researchers at Rutgers and Virginia Tech.

She earned her bachelor’s degree in applied mathematics from Brown University, her master’s degree in computer science from Stanford University and her PhD in computer science at Rutgers University.