[Brown CS Talks] Brown CS WiCS Distinguished Lecture Series in Lubrano on 2/7/02 at 4 pm.
talks-admin@list.cs.brown.edu
talks-admin@list.cs.brown.edu
Wed, 30 Jan 2002 11:45:01 -0500
BROWN UNIVERSITY
The Department of Computer Science
Jointly Sponsored by WiCS and the Department of Computer Science
WOMEN IN COMPUTER SCIENCE
DISTINGUISHED LECTURE SERIES
presents
Barbara Ryder
Rutgers University
Thursday, February 7, 2002 at 4:00 pm
Lubrano Conference Room (CIT 4th Floor)
Refreshments will be served at 3:45 pm
Data-flow Analysis of Software Fragments: Beyond Whole-program Analysis
Abstract
Traditional data-flow analysis is performed on whole programs;
however, such whole-program analysis is not feasible for large or
incomplete programs. We propose fragment data-flow analysis as an
alternative approach which computes data-flow information for a
specific program fragment. The analysis is parameterized by the
additional information available about the rest of the program.
We have developed a model of how to derive a fragment analysis from an
existing whole-program data-flow analysis, and have explored three
specific uses of our model. The first refines the results of an
inexpensive whole-program pointer alias analysis for a module of a C
program, obtaining more fine-grained information for this fragment
(i.e., module). The second performs separable points-to and side
effect analyses of a C client program which uses a library. The third
performs class analysis for object references in a Java library, in
order to use this information for testing of polymorphism in the
library (i.e., testing all possible receiver classes and target
methods at call sites). All of these uses of fragment analysis have
been empirically evaluated. Initial results on the cost and precision
indicate that this analysis is a good candidate for use with
real-world software.
The talk will concentrate on the second application of program
fragment analysis to C programs. We will show how to analyze the
library separate from the client code, summarize the possible effects
the library code can have on client code, and then separately analyze
the client code using this summary. In this case, the analysis of the
client code is a fragment analysis. Empirical experience with this
technique will be presented.
This research was accomplished in collaboration with Atanas (Nasko)
Rountev, my Ph.D. student, and will appear in his dissertation. This
research was funded, in part, by NSF grants CCR-980465 and
CCR-9900989, Siemens Corporate Research, and Edison Design Group. This
work appeared at the Conference on the Foundations of Software
Engineering (1999), the International Conference on Compiler
Construction (2001), and in technical report DCS-TR-423 February 2001,
available from the PROLANGS website (http:\\www.prolangs.rutgers.edu).
Host: Professor Amy Greenwald