skip to main content
10.1145/1181775.1181779acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Questions programmers ask during software evolution tasks

Published:05 November 2006Publication History

ABSTRACT

Though many tools are available to help programmers working on change tasks, and several studies have been conducted to understand how programmers comprehend systems, little is known about the specific kinds of questions programmers ask when evolving a code base. To fill this gap we conducted two qualitative studies of programmers performing change tasks to medium to large sized programs. One study involved newcomers working on assigned change tasks to a medium-sized code base. The other study involved industrial programmers working on their own change tasks on code with which they had experience. The focus of our analysis has been on what information a programmer needs to know about a code base while performing a change task and also on howthey go about discovering that information. Based on this analysis we catalog and categorize 44 different kinds of questions asked by our participants. We also describe important context for how those questions were answered by our participants, including their use of tools.

References

  1. R. DeLine, A. Khella, M. Czerwinski, and G. Robertson. Towards understanding programs through wear-based filtering. In Proceedings of ACM 2005 Symposium on Software Visualization, pages 183--192, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Erdem, W. L. Johnson, and S. Marsella. Task oriented software understanding. In Proceedings of Automated Software Engineering, pages 230--239, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Erdos and H. M. Sneed. Partial comprehension of complex programs (enough to perform maintenance). In Proceedings of 6th International Workshop on Program Comprehension, pages 98--105, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. V. Flor and E. L. Hutchins. Analyzing distributed cognition in software teams: A case study of team programming during perfective software maintenance. In Proceedings of the Empirical Studies of Programmers: Fourth Workshop, pages 36--64, 1991.Google ScholarGoogle Scholar
  5. B. G. Glaser and A. L. Strauss. The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Publishing, 1967.Google ScholarGoogle Scholar
  6. J. Herbsleb and E. Kuwana. Preserving knowledge in design projects: What designers need to know. In Proceedings of Human Factors in Computing Systems (CHI), pages 7--14, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. W. L. Johnson and A. Erdem. Interactive explanation of software systems. In Proceedings of Knowledge-Based Software Engineering (KBSE), pages 155--164, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. W. L. Johnson and A. Erdem. Interactive explanation of software systems. Proceedings of Automated Software Engineering, 4(1):53--75, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. J. Ko, H. H. Aung, and B. A. Myers. Eliciting design requirements for maintenance-oriented IDEs: A detailed study of corrective and perfective maintenance tasks. In Proceedings of the International Conference on Software Engineering (ICSE), pages 126--135, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Letovsky. Cognitive processes in program comprehension. In Proceedings of Conference on Empirical Studies of Programmers, pages 80--98, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Letovsky. Cognitive processes in program comprehension. The Journal of Systems and Software, 7(4):325--339, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Miyake. Constructive interaction and the iterative process of understanding. Cognitive Science, 10:151--177, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  13. N. Pennington. Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, 19:295--341, 1987.Google ScholarGoogle ScholarCross RefCross Ref
  14. M. P. Robillard, W. Coelho, and G. C. Murphy. How effective developers investigate source code: An exploratory study. IEEE Transactions on Software Engineering, 30(12):889--903, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Sillito, K. D. Volder, B. Fisher, and G. C. Murphy. Managing software change tasks: An exploratory study. In Proceedings of the International Symposium on Empirical Software Engineering, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  16. E. Soloway and K. Ehrlich. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering, SE10(5):595--609, 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M.-A. Storey, F. Fracchia, and H. A. Muller. Cognitive design elements to support the construction of a mental model during software exploration. Journal of Software Systems, special issue on Program Comprehension, 44(3):171--185, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M.-A. Storey, K. Wong, and H. A. Muller. How do program understanding tools affect how programmers understand programs? Science of Computer Programming, 36(2-3):183--207, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. L. Strauss and J. Corbin. Basics of Qualitative Research: Techniques and Procedures for developing Grounded Theory. Sage Publications, 1998.Google ScholarGoogle Scholar
  20. W. Teitelman and L. Masinter. The interlisp programming environment. IEEE Computer, 14:25--34, 1981.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. W. van Someren, Y. F. Barnard, and J. A. Sandberg. The Think Aloud Method; A Practical Guide to Modelling Cognitive Processes. Academic Press, 1994.Google ScholarGoogle Scholar
  22. A. von Mayrhauser and A. M. Vans. From code understanding needs to reverse engineering tool capabilities. In Proceedings of CASE'93, pages 230--239, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  23. A. von Mayrhauser and A. M. Vans. Program comprehension during software maintenance and evolution. IEEE Computer, 28(8):44--55, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. Wilde and C. Casey. Early field experience with the software reconnaissance technique for program comprehension. In Proceedings of WCRE, pages 270--276, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Williams, R. R. Kessler, W. Cunningham, and R. Jeffries. Strengthening the case for pair-programming. IEEE Software, 17(4):19--25, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Questions programmers ask during software evolution tasks

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
          November 2006
          298 pages
          ISBN:1595934685
          DOI:10.1145/1181775

          Copyright © 2006 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 November 2006

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate17of128submissions,13%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader