How do developers understand unfamiliar code, and what makes it hard? We have surveyed and interviewed developers to find common activities and problems. In the lab, we observed how developers seek, learn, explain, critique, propose, and implement facts and revealed how experienced developers are more productive. We hope our models will inform the design of tools for helping developers with these tasks.
LaToza, T. D., Garlan, D., Herbsleb, J. D., and Myers, B. A. (2007). Program comprehension as fact finding. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), Dubrovnik, Croatia, September 3-7.
[ local ]
[ acm ]
LaToza, T. D., Venolia, G., and DeLine, R. (2006). Maintaining mental models: a study of developer work habits. In Proceedings of the 28th International Conference on Software Engineering (ICSE) - Experience Report Track, Shanghai, China, May 20-28.
[ local ]
[ acm ]
LaToza, T. D. (2006). Using architecture to change code: studying information needs. In Companion To the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) - Student Research Competition, Portland, Oregon, October 22-26.
[ local ]
[ acm ]