GGrantIndex
← Search

CAREER: Dataflow Analysis for Modern Software Systems

$407,000FY2006CSENSF

Ohio State University Research Foundation -Do Not Use, Columbus OH

Investigators

Abstract

Proposal Number: 0546040 Proposal Title: CAREER: Dataflow Analysis for Modern Software Systems PI: Atanas Rountev, Ohio State University Interprocedural dataflow analysis plays a central role in tools for software maintenance, testing, verification, and optimization. Modern software has characteristics that cannot be handled by traditional approaches: it typically uses multiple distributed components, and it often employs dynamic mechanisms that are hard to analyze statically. Existing analyses fail in the presence of such features, making it hard to provide sophisticated tool support for real-world software systems. In turn, this reduces programmer productivity and leads to lower software quality. This project focuses on three challenges posed by modern software: reusable components, such as standard libraries; distributed software; and run-time adaptation through dynamic class loading and reflection. This effort is a significant step towards building powerful software tools that are truly usable and useful in the software industry. The theoretical foundations of dataflow analysis are generalized to achieve precision and scalability in the presence of reusable components. Widely used analyses (e.g., points-to analysis, MOD/REF analysis, constant propagation, and object naming) are adapted to distributed component-based systems. The analyses are systematically generalized to handle dynamic language features. Dissemination is achieved through open-source analysis implementations and two program understanding tools. The broader impacts of the project include (1) research infrastructure which provides scalable off-the-shelf implementations of several fundamental static analyses, (2) tools that supply high-quality support for program understanding, which will improve productivity and software quality, and (3) integration of the research with education, which will increase the students' proficiency in current methods and tools for software development, and will accelerate their career progress.

View original record on NSF Award Search →