GGrantIndex
← Search

CAREER: Analysis Techniques for Evolution of Modular Software

$239,596FY2000CSENSF

University Of Wisconsin-Milwaukee, Milwaukee WI

Investigators

Abstract

------------------------------------------- CCR-9984681 (title unchanged) PI: John T Boyland Software evolves through the addition of features, removal of defects, or improvement in the basic algorithms. The desired changes may be easiest to incorporate if the program is first restructured. This research has impact through its incorporation into the ACT/Fluid prototype software engineering tool, which supports programmer-guided program manipulation and restructuring. Since the tool does not have access to the whole program (portions may be hidden in libraries or undergoing concurrent development), this research proposes decorating interfaces between components with annotations called ``promises.'' Promises serve as surrogates of missing code during inter-procedural analysis, serve as proof obligations when that code is itself analyzed, and serve as contracts between separately-developed program components. The investigator is integrating the research directly into two computer science courses: one, a graduate course on program analysis; the other uses the ACT/Fluid prototype as a refactoring tool for Java programs. Additionally, the investigator is addressing the needs of non-traditional students through increased emphasis on `how' and `why' issues, more supportive instructor-student interaction, and improved assessment procedures. Successful completion of this project will encourage the use of verified program manipulations in software evolution, leading to better structured programs with fewer defects

View original record on NSF Award Search →