NSF Workshop On a
Software Research Program
For the 21st Century
Summary of Findings and Recommendations
| F1 | Current software has too many surprises. The sources of surprise are poorly understood. |
| R1 | Emphasize empirical research aimed at understanding the sources of software surprises. |
| F2 | Key sources of software surprise include immature or poorly integrated software domain sciences, construction (product) principles, and engineering processes. Software research emphases have swung from process to product research, with weak coverage of domain sciences and integration. |
| R2 | Balance and incrementally expand research in the domain sciences, construction (product) principles, engineering processes, and their integration. |
| F3 | Key components of software surprises include scalability, evolvability, dependability, usability, performance, and predictability of cost and schedule. |
| R3 | Emphasize the ability to address these iss ues in research support and evaluation. |
| F4 | Software technology is hard to transition into practice and feedback is needed on its effectiveness. Just doing software research is not enough. |
| R4 | Expand initiatives to transition research and provide feedback to researchers via government/industry/academic collaboration, incentives, and support. |