Skip to main content
Log in

Resumption strategies for interrupted programming tasks

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Interrupted and blocked tasks are a daily reality for professional programmers. Unfortunately, the strategies programmers use to recover lost knowledge and rebuild context when resuming work have not yet been well studied. In this paper, we describe an exploratory analysis performed on 10,000 recorded sessions of 86 programmers and a survey of 414 programmers to understand the various strategies and coping mechanisms developers use to manage interrupted programming tasks. Based on the analysis, we propose a framework for understanding these strategies and suggest how task resumption might be better supported in future development tools. The results suggest that task resumption is a frequent and persistent problem for developers. For example, we find that only 10% of the sessions have programming activity resume in less than 1 min after an interruption, only 7% of the programming sessions involve no navigation to other locations prior to editing. We also found that programmers use multiple coping mechanisms to recover task context when resuming work.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. http://www.eclipse.org/mylyn

  2. http://eclipse.org

References

  • Adamczyk, P. D., & Bailey, B. P. (2004). If not now, when? The effects of interruption at different moments within task execution. In CHI ’04: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 271–278). New York, NY: ACM.

  • Allwood, C. (1984). Error detection processes in statistical problem solving. Cognitive Science, 8(4), 413–437.

    Article  Google Scholar 

  • Altmann, E. M., & Trafton, J. G. (2002). Memory for goals: An activation-based model. Cognitive Science, 26, 39–83.

    Article  Google Scholar 

  • Altmann, E. M., & Trafton, J. G. (2004). Task interruption: Resumption lag and the role of cues. In Proceedings of the 26th annual conference of the cognitive science society.

  • Altmann, E. M., & Trafton, J. G. (2007). Timecourse of recovery from task interruption: Data and a model. Psychonomic Bulletin and Review, 14, 1079–1084.

    Article  Google Scholar 

  • Anderson, J. R., Bothell, D., Byrne, M. D., Douglass, S., Lebiere, C., & Qin, Y. (2004). An integrated theory of the mind. Psychological Review, 111, 1036–1060.

    Article  Google Scholar 

  • Anderson, J. R., Farrell, R., & Sauers, R. (1984). Learning to program in lisp. Cognitive Science, 8(2), 87–129.

    Article  Google Scholar 

  • Atkinson, R. C., & Shiffrin. (1968). The psychology of learning and motivation (Vol. 2), chapter Human memory: A proposed system and its control processes (pp. 89–195). Baddeley: Academic Press.

  • Baddeley, A., & Hitch, G. (1974). The psychology of learning and motivation: Advances in research and theory, chapter working memory (pp. 47–89). New York: Academic Press.

  • Bannon, L., Cypher, A., Greenspan, S., & Monty, M. L. (1983). Evaluation and analysis of users’ activity organization. In CHI ’83: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 54–57). New York, NY: ACM.

  • Bellotti, V., Dalal, B., Good, N., Flynn, P., Bobrow, D. G., & Ducheneaut, N. (2004). What a to-do: Studies of task management towards the design of a personal task list manager. In CHI ’04: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 735–742). New York, NY: ACM.

  • Borst, J. P., & Taatgen, N. A. (2007). The costs of multitasking in threaded cognition. In ICCM ’07: Proceedings of the 8th international conference on cognitive modeling (pp. 133–138). Oxford: Psychology Press.

  • Brush, A. B., Meyers, B. R., Tan, D. S., & Czerwinski M. (2007). Understanding memory triggers for task tracking. In CHI ’07: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 947–950). New York, NY: ACM.

  • Chase, W., & Simon, H. (1973). Perception in chess. Cognitive Psychology, 4, 55–81.

    Article  Google Scholar 

  • Chase, W. G., & Ericsson, K. A. (1982). The psychology of learning and motivation, Vol. 16, chapter Skill and working memory (pp. 1–58). New York: Academic Press.

  • Cherubini, M., Venolia, G., DeLine, R., & Ko, A. J. (2007). Let’s go to the whiteboard: How and why software developers use drawings. In CHI ’07: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 557–566). New York, NY: ACM.

  • Cowan, N. (2001). The magical number 4 in short-term memory: A reconsideration of mental storage capacity. The Behavioral and brain sciences, 24(1), 87−185.

  • Cutrell, E., Czerwinski, M., & Horvitz, E. (2001). Notification, disruption and memory: Effects of messaging interruptions on memory and performance.

  • Czerwinski, M., Horvitz, E., & Wilhite, S. (2004). A diary study of task switching and interruptions. In CHI ’04: Proceedings of the SIGCHI conference on human factors in computing systems (pp 175–182). New York, NY: ACM Press.

  • Dekel, U. (2008). Designing a prosthetic memory to support software developers. In ICSE companion ’08: Companion of the 30th international conference on software engineering (pp. 1011–1014). New York, NY: ACM.

  • DeLine, R., Czerwinski, M., Meyers, B., Venolia, G., Drucker, S., & Robertson, G. (2006). Code thumbnails: Using spatial memory to navigate source code. In VLHCC ’06: Proceedings of the visual languages and human-centric computing (pp. 11–18). Washington, DC: IEEE Computer Society.

  • Ericsson, K. A., & Kintsch, W. (1995). Long-term working memory. Psychological Review, 102, 211–245.

    Article  Google Scholar 

  • Ericsson, K. A., & Staszewski, J. J. (1989). Complex information processing: The impact of Herbert A. Simon, chapter Skilled memory and expertise: Mechanisms of exceptional performance (pp. 235–267). Hillsdale, NJ: Lawrence Erlbaum.

  • Fogarty, J., Ko, A. J., Aung, H. H., Golden, E., Tang, K. P., & Hudson, S. E. (2005). Examining task engagement in sensor-based statistical models of human interruptibility. In CHI ’05: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 331–340). New York, NY: ACM.

  • Gilboa, A., et al. (2006). Hippocampal contributions to recollection in retrograde and anterograde amnesia. Hippocampus, 16(11), 966–980.

    Article  Google Scholar 

  • Gillie, T., & Broadbent, D. (1998). What makes interruptions disruptive? a study of length, similiarity, and complexity. Psychological Research, 50, 243–250.

    Article  Google Scholar 

  • Hodgetts, H. M., & Jones, D. M. (2006). Contextual cues aid recovery from interruption: The role of associative activitation. Journal of Experimental Psychology: Learning, Memory, and Cognition, 32(5), 1120–1132.

    Article  Google Scholar 

  • Iqbal, S. T., & Bailey, B. P. (2005). Investigating the effectiveness of mental workload as a predictor of opportune moments for interruption. In CHI ’05: CHI ’05 extended abstracts on human factors in computing systems (pp. 1489–1492). New York, NY: ACM.

  • Kersten, M., & Murphy, G. C. (2006). Using task context to improve programmer productivity. In SIGSOFT ’06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on foundations of software engineering (pp. 1–11). New York, NY: ACM.

  • Ko, A. J., Aung, H., & Myers, B. A. (2005). Eliciting design requirements for maintenance-oriented ides: A detailed study of corrective and perfective maintenance tasks. In ICSE ’05: Proceedings of the 27th international conference on software engineering (pp. 126–135). New York, NY: ACM.

  • Ko, A. J., DeLine, R., & Venolia, G. (2007). Information needs in collocated software development teams. In ICSE ’07: Proceedings of the 29th international conference on software engineering (pp. 344–353). Washington, DC: IEEE Computer Society.

  • Latoza, T. D., Venolia, G., & Deline R. (2006). Maintaining mental models: A study of developer work habits. In ICSE ’06: Proceeding of the 28th international conference on software engineering (pp. 492–501). New York, NY: ACM Press.

  • Lethbridge, T. C., Sim, S. E., & Singer, J. (2005). Studying software engineers: Data collection techniques for software field studies. Empirical Software Engineering, 10(3):311–341.

    Google Scholar 

  • Mark, G., Gonzalez, V. M., & Harris J. (2005). No task left behind? Examining the nature of fragmented work. In CHI ’05: Proceedings of the SIGCHI conference on human factors in computing systems (pp. 321–330). New York, NY: ACM Press.

  • Mayrhauser, A. V., & Vans, A. M. (1997). Hypothesis-driven understanding processes during corrective maintenance of large scale software. In ICSM ’97: Proceedings of the international conference on software maintenance (pp. 12–20). Washington, DC: IEEE Computer Society.

  • McFarlane, D. (2002). Comparison of four primary methods for coordinating the interruption of people in human-computer interaction. Human-Computer Interaction, 17(1), 63–139.

    Article  Google Scholar 

  • McKinney, F. (1935). Studies in the retention of interrupted learning activities. Journal of Comparative Psychology, 19(2), 265–296.

    Article  Google Scholar 

  • Miller, G. A. (1994). The magical number seven, plus or minus two: Some limits on our capacity for processing information. 1956. Psychological Review, 101(2), 343–352.

    Article  Google Scholar 

  • Milner, B., Corsi, P., & Leonard, G. (1991). Frontal-lobe contribution to recency judgements. Neuropsychologia, 29(6), 601–618.

    Article  Google Scholar 

  • Miyata, Y., & Norman, D. A. (1986). Psychological issues in support of multiple activities. In D. A. Norman & S. W. Draper, (Eds.), User centered system design: New perspectives on human-computer interaction (pp. 265–284). Hillsdale, NJ: Erlbaum.

  • Monk, C., Trafton, J., & Boehm-Davis, D. A. (2008). The effect of interruption duration and demand on resuming suspended goals. Journal of Experimental Psychology: Applied, 14, 299–313.

    Article  Google Scholar 

  • Monk, C. A. (2004). The efffect of frequent versus infrequent interruptions on primary task resumption. In Proceedings of the human factors and ergonomics society 48th annual meeting.

  • Morris, R. G., & Frey, U. (1997). Hippocampal synaptic plasticity: Role in spatial learning or the automatic recording of attended experience? Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 352(1360), 1489–1503.

    Article  Google Scholar 

  • Morris, R. G. M. (2006). Elements of a neurobiological theory of hippocampal function: The role of synaptic plasticity, synaptic tagging and schemas. European Journal of Neuroscience, 23(11), 2829–2846.

    Article  Google Scholar 

  • Murphy, G. C., Kersten, M., & Findlater, L. (2006). How are Java software developers using the Eclipse IDE? (vol. 23, pp. 76–83). Los Alamitos, CA: IEEE Comp. Soc. Press.

  • O’Brien, M. P., & Buckley, J. (2005). Modelling the information-seeking behaviour of programmers—an empirical approach. In IWPC ’05: Proceedings of the 13th international workshop on program comprehension (pp. 125–134). Washington, DC: IEEE Computer Society.

  • O’Conaill, B., & Frohlich, D. (1995). Timespace in the workplace: Dealing with interruptions. In CHI ’95: Conference companion on human factors in computing systems (pp. 262–263). New York, NY: ACM Press.

  • Offner, M. (1911). Mental Fatigue. Warwick & York.

  • Parnin, C., & DeLine, R. (2010). Evaluating cues for resuming interrupted programming tasks. In CHI ’10: Proceedings of the 28th international conference on human factors in computing systems (pp. 93–102). New York, NY: ACM.

  • Parnin, C., Görg, C. (2006). Building usage contexts during program comprehension. In ICPC ’06: Proceedings of the 14th IEEE international conference on program comprehension (pp. 13–22).

  • Pennington, N., & Grabowski, B. (1990). The tasks of programming. In Psychology of programming, Computer and People Series, chapter 1.4 (pp. 45–62). London: Academic Press Ltd.

  • Ratwani, R. M., & Trafton J. G. (2008). Spatial memory guides task resumption. Visual Cognition, 16, 1001–1010.

    Article  Google Scholar 

  • Renaud, K., & Gray, P. (2004). Making sense of low-level usage data to understand user activities. In Proceedings of SAICSIT ’04, (pp. 115–124). Republic of South Africa, 2004. South African Institute for Computer Scientists and Information Technologists.

  • Robbes, R., & Lanza, M. (2007). Characterizing and understanding development sessions. In ICPC ’07: Proceedings of the 15th IEEE international conference on program comprehension (pp. 155–166). Washington, DC: IEEE Computer Society.

  • Safer, I., & Murphy, G. C. (2007). Comparing episodic and semantic interfaces for task boundary identification. In CASCON ’07: Proceedings of the 2007 conference of the center for advanced studies on collaborative research (pp. 229–243). New York, NY: ACM.

  • Salvucci, D. D., Taatgen, N. A., & Borst, J. P. (2009). Toward a unified theory of the multitasking continuum: From concurrent performance to task switching, interruption, and resumption. In CHI ’09: Proceedings of the 27th international conference on human factors in computing systems (pp. 1819–1828), New York, NY: ACM.

  • Singer, J., Elves, R., & Storey, M.-A. (2005). Navtracks: Supporting navigation in software maintenance. In ICSM ’05: Proceedings of the 21st IEEE international conference on software maintenance (pp. 325–334). Washington, DC: IEEE Computer Society.

  • Sinha, V., Karger, D., & Miller, R. (2006). Relo: Helping users manage context during interactive exploratory visualization of large codebases. In VLHCC ’06: Proceedings of the visual languages and human-centric computing (pp. 187–194). Washington, DC: IEEE Computer Society.

  • Squire, L. R. (2004). Memory systems of the brain: A brief history and current perspective. Neurobiology of learning and memory, 82(3), 171–177.

    Article  Google Scholar 

  • Storey, M.-A., Best, C., Michaud, J., Rayside, D., Litoiu, M., & Musen, M. (2002). Shrimp views: An interactive environment for information visualization and navigation. In CHI ’02: CHI ’02 extended abstracts on human factors in computing systems (pp. 520–521), New York, NY: ACM.

  • Storey, M.-A., Ryall, J., Bull, R. I., Myers, D., & Singer, J. (2008). Todo or to bug: Exploring how task annotations play a role in the work practices of software developers. In ICSE ’08: Proceedings of the 30th international conference on software engineering (pp. 251–260), New York, NY: ACM.

  • The Eclipse Foundation. (2009). Usage Data Collector Results. January 5th, 2009. Website, http://www.eclipse.org/org/usagedata/reports/data/commands.cs.

  • Trafton, J. G., Altmann, E. M., & Brock, D. P. (2005). Huh, what was i doing? How people use environmental cues after an interruption. In Proceedings of the human factors and ergonomics society 49th annual meeting.

  • Trafton, J. G., Altmann, E. M., Brock, D. P., & Mintz, F. E. (2003). Preparing to resume an interrupted task: Effects of prospective goal encoding and retrospective rehearsal. International Journal of Human-Computer Studies, 58, 583–603.

    Article  Google Scholar 

  • Tulving. E. (1972). Organization of memory, chapter Episodic and semantic memory (pp. 381–403). New York: Academic Press.

  • Tulving, E., & Thomson, D. M. (1973). Encoding specificity and retrieval processes in episodic memory. Psychological Review, 80, 352–373.

    Article  Google Scholar 

  • van Solingen, R., Berghout, E., & van Latum, F. (1998). Interrupts: Just a minute never is. IEEE Software, 15(5), 97–103.

    Article  Google Scholar 

  • Winograd, E. (1988). Practical aspects of memory: Current research and issues, Vol. 2, chapter Some observations on prospective remembering (pp. 348–353). Chichester: Wiley.

  • Zeigarnik, B. (1927). Das behalten erledigter und unerledigter handlungen. Psychologische Forschung, 9(1), 1–85.

    Article  Google Scholar 

  • Zijlstra, F. R. H., Roe, R. A., Leonova, A. B., & Krediet, I. (1999). Temporal factors in mental work: Effects of interrupted activities. Journal of Occupational and Organizational Psychology, 72, 163–185.

    Article  Google Scholar 

  • Zou, L., & Godfrey, M. W. (2006). An industrial case study of program artifacts viewed during maintenance tasks. In WCRE ’06: Proceedings of the 13th working conference on reverse engineering (pp. 71–82). Washington, DC: IEEE Computer Society.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chris Parnin.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parnin, C., Rugaber, S. Resumption strategies for interrupted programming tasks. Software Qual J 19, 5–34 (2011). https://doi.org/10.1007/s11219-010-9104-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-010-9104-9

Keywords

Navigation