Wed 25 Aug 2021 20:25 - 20:30 - Analysis—Development Tools Chair(s): Rui Abreu
What is programming, and why is it sometimes so frustrating and annoying and other times so fast and painless? Over the last few decades, researchers have adopted methods from psychology and human-computer interaction to understand the moment-to-moment activities of software developers, revealing in ever-expanding detail just what developers spend their time doing when they build large and complex software. Through this rapidly growing body of work, it is now possible to understand why some programming tools can help make programming easier and why others might not. In this article, we survey a few of the important lessons emerging from studies of programming and some of the new types of programming tools which have emerged motivated by these studies. While some remain early prototypes, others have begun the transition to practice and are available today in commercial and open source development environments and platforms.
Thomas LaToza is an Associate Professor of Computer Science at George Mason University. He serves as director of the Developer Experience Design Lab, which studies how humans interact with code and designs new ways of building software. He has conducted dozens of studies of software developers and designed numerous programming tools, including tools for understanding code, reuse, design, debugging, documentation, and onboarding. He has served as co-chair of the Workshop on Crowdsourcing in Software Engineering (CSI-SE) as well as the Workshop on the the Evaluation of Programming Languages and Tools (PLATEAU). He is a recipient of the NSF CAREER award for his work on Debugging Mental Models. He received degrees in Psychology and Computer Science from the University of Illinois at Urbana-Champaign and a Ph.D. in Software Engineering from Carnegie Mellon University.