|
Current Research Projects
|
|   |
|
Data-flow Analysis of Large Software Systems
|
Abstract
Software tools based on data-flow analyses can automate many
software engineering tasks. These tools, however, are rarely used in
practice because existing data-flow analyzers are prohibitively
expensive or too imprecise for use with large software systems
written in languages that contain complex language constructs such
as pointers, arrays, and function-valued variables. The primary goal
of this research is to develop data-flow analyses that are
sufficiently efficient and precise in practice to analyze programs
when those programs are under development, testing, and maintenance.
The research involves three primary efforts: development of efficient
and effective data-flow analyses for C Programs; performance of
large-scale experimentation to evaluate the algorithms and
to guide the direction of the later work; and investigation of
the application of the techniques to object-oriented languages.
The proposed research will have several tangible results: it
will provide information about how practical data-flow analyses
can be created; it will construct prototypes and assemble a
set of experimental subjects for use in evaluation of the results
of the research and demonstration of the practicality of the
algorithms; and it will use discoveries about data-flow analyses
as a starting point for developing such techniques for
object-oriented programs.
Researchers
Principle Investigator
Students
Sponsors
|