Unprecedented computational power is available from multi-core processors and cloud computing. To date, this power has been used primarily to make programs run faster. However, in many cases the bottleneck to solving users' problems is in the challenge of creating the software, not in the time to run it. This project will apply computational power to the real bottleneck, providing developers with new types of feedback. As a key broader impact, the research will enable developers to create software more quickly, more cheaply, and with higher quality.

The key technical idea is to inform developers, in advance, of the consequences of their likely actions. The development environment speculates about developer actions, evaluates the effect of each action (on compilation, tests, version control conflicts, etc.), and unobtrusively makes this information available to the developer. By knowing which choices are good and which are bad, developers can avoid bad choices that cost time or reduce quality. The project's intellectual merits include algorithms to quickly create and evaluate many possible developer actions, UI design for developer awareness, and evaluation of how increased awareness of contingent information, about possible actions, affects developers. This also leads toward an answer to the question: If developers had infinite processing power, what fundamental software engineering research problems would remain?

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0963757
Program Officer
Sol J. Greenspan
Project Start
Project End
Budget Start
2010-09-01
Budget End
2014-08-31
Support Year
Fiscal Year
2009
Total Cost
$766,000
Indirect Cost
Name
University of Washington
Department
Type
DUNS #
City
Seattle
State
WA
Country
United States
Zip Code
98195