I am a Professor of Computer Science at Brown University. My area, broadly, is software engineering, but I specialize in making programming easier, more efficient, and safer, and on making programmers more productive. This involves the development of new tools and user interfaces for software development. Over the years I have developed a number of integrated development environments, software visualizations, and programming tools, as well as methodologies for fault localization, dynamic tracing, code search, performance analysis, and automatic bug repair.