<p>Recent disruptions caused by several events have shown how thoroughly the world has come to depend on software. The rapid proliferation of the Melissa virus hinted at a dark side of the ubiquitous connectivity that supports the information-rich Internet and lets e-commerce thrive.</p> <p>Indeed, as software plays an ever-greater role in managing the daily functions of modern life, its economic importance becomes proportionately greater.</p> <p>Yet despite its critical importance, software remains surprisingly fragile. Prone to unpredictable performance, dangerously open to malicious attack, and vulnerable to failure at implementation despite the most rigorous development processes, in many cases software has been assigned tasks beyond its maturity and reliability.</p> <p>The authors discuss how the results from two work-shops on software engineering research strategies, commissioned by the National Science Foundation last year, point to new directions in software development. Two future areas of software engineering research involve harnessing future IT to empower people and groups, and to weave a new information fabric that is much more reliable, supple, and adaptable than current technology.</p>