Skip to main content

Resumption strategies for interrupted programming tasks

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, access via your institution.

Fig. 1
Fig. 2
Fig. 3

Notes

  1. 1.

    http://www.eclipse.org/mylyn

  2. 2.

    http://eclipse.org

References

  1. 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.

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  4. 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.

  5. 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 

  6. 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 

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

    Article  Google Scholar 

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

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

    Article  Google Scholar 

  15. 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.

  16. 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.

  17. 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.

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

  19. 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.

  20. 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.

  21. 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.

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

    Article  Google Scholar 

  23. 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.

  24. 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.

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  27. 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 

  28. 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.

  29. 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.

  30. 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.

  31. 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.

  32. 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.

  33. 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 

  34. 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.

  35. 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.

  36. 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 

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

    Article  Google Scholar 

  38. 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 

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

    Article  Google Scholar 

  40. 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.

  41. 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 

  42. 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.

  43. 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 

  44. 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 

  45. 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.

  46. 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.

  47. 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.

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

  49. 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.

  50. 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).

  51. 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.

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

    Article  Google Scholar 

  53. 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.

  54. 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.

  55. 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.

  56. 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.

  57. 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.

  58. 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.

  59. 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 

  60. 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.

  61. 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.

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

  63. 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.

  64. 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 

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

  70. 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 

  71. 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

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

Keywords

  • Interruption
  • Resumption strategies
  • Task context
  • Task knowledge