skip to main content
research-article

An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks

Published:01 March 2013Publication History
Skip Abstract Section

Abstract

Theories of human behavior are an important but largely untapped resource for software engineering research. They facilitate understanding of human developers’ needs and activities, and thus can serve as a valuable resource to researchers designing software engineering tools. Furthermore, theories abstract beyond specific methods and tools to fundamental principles that can be applied to new situations. Toward filling this gap, we investigate the applicability and utility of Information Foraging Theory (IFT) for understanding information-intensive software engineering tasks, drawing upon literature in three areas: debugging, refactoring, and reuse. In particular, we focus on software engineering tools that aim to support information-intensive activities, that is, activities in which developers spend time seeking information. Regarding applicability, we consider whether and how the mathematical equations within IFT can be used to explain why certain existing tools have proven empirically successful at helping software engineers. Regarding utility, we applied an IFT perspective to identify recurring design patterns in these successful tools, and consider what opportunities for future research are revealed by our IFT perspective.

References

  1. Alexander, C. 1979. The Timeless Way of Building. Oxford University Press.Google ScholarGoogle Scholar
  2. Arlotta, L., Crescenzi, V., Mecca, G., and Merialdo, P. 2003. Automatic annotation of data extracted from large Web sites. In Proceedings of the International Workshop on the Web and Databases. 12--17.Google ScholarGoogle Scholar
  3. Ashok, B., Joy, J., Liang, H., Rajamani, S. K., Srinvasa, G., and Vangala, V. 2009. DebugAdvisor: A Recommender system for debugging. In Proceedings of the Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering. 373--382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Aula, A., Jhaveri, N., and Kaki, M. 2005. Information search and re-access strategies of experienced Web users. In Proceedings of the International Conference on World Wide Web. 583--592. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Baeza-Yates, R. and Ribeiro-Neto, B. 1999. Modern Information Retrieval. Addison Wesley Longman. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bellon, S., Koschke, R., Antoniol, G., and Krinke, J. 2007. Comparison and evaluation of clone detection tools. IEEE Trans. Softw. Eng. 577--591. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bloch, J. 2001. Effective Java Programming Language Guide. Sun Microsystems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Borchers, J. 2000. A pattern approach to interaction design. In Proceedings of the ACM International Conference on Designing Interactive Systems. 369--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bragdon, A., Reiss, Steven P., Zeleznik, R., Karumuri, S., Cheung, W., Kaplan, J., Adeputra, F., and LaViola Jr., J. J. 2010. Code Bubbles: Rethinking the user interface paradigm of integrated development. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 455--464. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Brandt, J., Guo, P., Lewenstein, J., and Klemmer, S. 2008. Opportunistic programming: How rapid ideation and prototyping occur in practice. In Proceedings of the International Workshop on End-User Software Engineering. 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Brooks, R. 1983. Towards a theory of the comprehension of computer programs. Int. J. Man-Machine Stud. 18, 543--554.Google ScholarGoogle ScholarCross RefCross Ref
  12. Budiu, R., Pirolli, P., and Hong, L. 2009. Remembrance of things tagged: How tagging effort affects tag production and human memory. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 615--624. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Caldiera, G. and Basili, V. 1991. Identifying and qualifying reusable software components. Computer 24, 2, 61--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Chi, E., Pirolli, P., Chen, K., and Pitkow, J. 2001. Using information scent to model user information needs and actions and the Web. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 490--497. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Chi, E., Rosien, A., Supattanasiri, G., and Williams, A. 2003. The Bloodhound project: Automating discovery of Web usability issues using the InfoScent simulator. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 512--519. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Coblenz, M. J., Ko, A. J., and Myers, B. A 2006. JASPER: An eclipse plug-in to facilitate software maintenance tasks. In Proceedings of the OOPSLA Workshop on Eclipse Technology eXchange. 65--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Cottrell, R., Walker, R., and Denzinger, J. 2008. Semi-automating small-scale source code reuse via structural correspondence. In Proceedings of the ACM/IEEE International Symposium on Foundations of Software Engineering. 214--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Cubranic, D., Murphy, G., Singer, J., and Booth, K. 2005. HIPIKAT: A project memory for software development. IEEE Trans. Softw. Eng. 31, 6, 446--465. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Dagenais, B. and Robillard, M. P. 2010. Creating and evolving developer documentation: Understanding the decisions of open source contributors. In Proceedings of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 127--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. De Alwis, B. and Murphy, G. C. 2008. Answering conceptual queries with ferret. In Proceedings of the ACM/IEEE International Conference on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Dearden, A. and Finlay, J. 2006. Pattern languages in HCI: A critical review. Hum.-Comput. Interact. 21, 49--102.Google ScholarGoogle ScholarCross RefCross Ref
  22. DeLine, R., Czerwinski, M., and Robertson, G. 2005. Easing program comprehension by sharing navigation data. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centered Computing. 241--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Duala-Ekoko, E. and Robillard, M. 2007. Tracking code clones in evolving software. In Proceedings of the 29th International Conference on Software Engineering. 158--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Ducasse, S., Rieger, M., and Demeyer, S. 1999. A language independent approach for detecting duplicated code. In Proceedings of the International Conference on Software Maintenance. 109--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Dudziak, T. 2002. Tool-supported discovery and refactoring of structural weaknesses in code. Ph.D. thesis, Technical University of Berlin.Google ScholarGoogle Scholar
  26. Dunn, M. and Knight, J. 1993. Automating the detection of reusable parts in existing software. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 381--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Erl, T. 2007. SOA Principles of Service Design. Prentice-Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Fowler, M. and Beck, K. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Fritz, T. and Murphy, G. C. 2010. Using information fragments to answer the questions developers ask. In Proceedings of the ACM/IEEE International Conference on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Fu, W.-T. and Pirolli, P. 2007. SNIF-ACT: A cognitive model of user navigation on the World Wide Web. Hum.-Comput. Interact. 22, 355--412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Garlan, D., Allen, R., and Ockerbloom, J. 2002. Architectural mismatch: Why reuse is so hard. IEEE Softw. 12, 6, 17--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Geiger, R., Fluri, B., Gall, H., and Pinzger, M. 2006. Relation of code clones and change couplings. In Proceedings of the 9th International Conference on Fundamental Approaches to Software Engineering. Lecture Notes in Computer Science, vol. 3922, 411--425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Hannay, J., Sjoberg, D., and Dyba, T. 2007. A systematic review of theory use in software engineering experiments. IEEE Trans. Softw. Eng. 33, 2, 87--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Henninger, S. 1994. Using iterative refinement to find reusable software. IEEE Softw. 11, 5, 48--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Hill, E., Pollock, L., and Vijay-Shanker, K. 2009. Automatically capturing source code context of NL-queries for software maintenance and reuse. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 232--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Holmes, R. and Walker, R. 2007. Supporting the investigation and planning of pragmatic reuse tasks. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 447--457. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Holmes, R., Walker, R., and Murphy, G. 2006. Approximate structural context matching: An approach to recommend relevant examples. IEEE Trans. Softw. Eng. 32, 12, 952--970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Hundhausen, C. 2005. Using end-user visualization environments to mediate conversations: A “Communicative dimensions” framework. J. Vis. Lang. Comput. 16, 3, 153--185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Jeon, J., Lavrenko, V., and Manmatha, R. 2003. Automatic image annotation and retrieval using cross-media relevance models. In Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. 119--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Kersten, M. and Murphy, G. 2006. Using task context to improve programmer productivity. In Proceedings of the ACM Symposium on the Foundations of Software Engineering. 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Ko, A. 2008. Asking and answering questions about the causes of software behaviors. Ph.D. thesis, Carnegie Mellon University.Google ScholarGoogle Scholar
  43. Ko, A., Myers, B., Coblenz, M., and Aung, H. 2006. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Trans. Softw. Eng. 32, 12, 971--987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Ko, A., DeLine, R., and Venolia, G. 2007. Information needs in collocated software development teams. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 344--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Lanubile, F. and Visaggio, G. 1993. Function recovery based on program slicing. In Proceedings of the International Conference on Software Maintenance. 396--404. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Lanubile, F., Ebert, C., Prikladnicki, R. and Vizcaino, A. 2010. Collaboration tools for global software engineering. IEEE Softw. 52--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. LaToza, T. and Myers, B. 2010. Developers ask reachability questions. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 185--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. LaToza, T., Venolia, G., and DeLine, R. 2006. Maintaining mental models: A study of developer work habits. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 492--501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. LaToza, T., Garlan, D., Herbsleb, J., and Myers, B. 2007. Program comprehension as fact finding. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Lawrance, J., Bellamy, R., Burnett, M., and Rector, K. 2008a. Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 1323--1332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Lawrance, J., Bellamy, R., Burnett, M., and Rector, K. 2008b. Can information foraging pick the fix?: A field study. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 57--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Lawrance, J., Bogart, C., Burnett, M., Bellamy, R., Rector, K., and Fleming, S. 2011. How programmers debug, revisited: An information foraging theory perspective, IEEE Trans. Softw. Eng. (http://doi.ieeecomputersociety.org/10.1109/TSE.2010.111).Google ScholarGoogle Scholar
  53. Lawrance, J., Burnett, M., Bellamy, R., and Bogart, C. 2010. Reactive information foraging for evolving goals. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 25--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Layman, L. 2009. Information needs of developers for program comprehension during software maintenance tasks. Ph.D. thesis, North Carolina State University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Mani, I. and Maybury, M. 1999. Advances in Automatic Text Summarization. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. McMillan, C., Grechanik, M., Poshyvanyk, D., Fu, C., and Xie, Q. 2012. Exemplar: A source code search engine for finding highly relevant applications. IEEE Trans. Softw. Eng. 38, 5, 1269--1287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Mens, T., Tourwe, T., and Munoz, F. 2003. Beyond the refactoring browser: Advanced tool support for software refactoring. In Proceedings of the 6th International Workshop on Principles of Software Evolution. 39--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Minto, S. and Murphy, G. C. 2007. Recommending emergent teams. In Proceedings of the 4th International Workshop on Mining Software Repositories, 5--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Mockus, A. and Herblseb, J. D. 2002. Expertise browser: A quantitative approach to identifying expertise. In Proceedings of the 24th International Conference on Software Engineering, 503--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Murphy-Hill, E. and Black, A. 2008. Refactoring tools: Fitness for purpose. IEEE Softw. 25, 5, 38--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Murphy-Hill, E., Parnin, C., and Black, A. 2009. How we refactor, and how we know it. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 287--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Olivero, F., Lanza, M., D’Ambros, M., and Robbes, R. 2011. Enabling program comprehension through an object-focused development environment. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing. 127--134.Google ScholarGoogle Scholar
  63. Olson, G. and Olson, J. 2003. Human-computer interaction: Psychological aspects of the human use of computing. Ann. Rev. Psych. 54, 1, 491--516.Google ScholarGoogle ScholarCross RefCross Ref
  64. Olston, C. and Chi, E. 2003. ScentTrails: Integrating browsing and searching on the Web. ACM Trans. Comput.-Hum. Interact. 10, 3, 177--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Pane, J. 2002. A programming system for children that is designed for usability. Ph.D. thesis, Carnegie Mellon University. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Parnin, C. and Görg, C. 2006. Building usage contexts during program comprehension. In Proceedings of the 14th IEEE International Conference on Program Comprehension, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Piorkowski, D., Fleming, S. D., Scaffidi, C., John, L., Bogart, C., John, B. E., Burnett, M., and Bellamy, R. 2011. Modeling programmer navigation: A head-to-head empirical evaluation of predictive models. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 109--116.Google ScholarGoogle Scholar
  68. Pirolli, P. 2007. Information Foraging Theory: Adaptive Interaction with Information. Oxford University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Pirolli, P. and Card, S. 1995. Information foraging in information access environments. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 51--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Pirolli, P. and Card, S. 1998. Information foraging models of browsers for very large document spaces. In Proceedings of the Working Conference on Advanced Visual Interfaces. 83--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Pirolli, P. and Card, S. 1999. Information foraging. Psych. Rev. 106, 4, 643--675.Google ScholarGoogle ScholarCross RefCross Ref
  72. Pirolli, P. and Fu, W. 2003. SNIF-ACT: A model of information foraging on the World Wide Web. In Proceedings of the 9th International Conference on User Modeling. Lecture Notes in Computer Science, vol. 2702, 45--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Rahman, F., Bird, C., and Devanbu, P. 2010. Clones: What is that smell? In Proceedings of the 7th IEEE Working Conference on Mining Software Repositories. 72--81.Google ScholarGoogle Scholar
  74. Rastkar, S., Murphy, G. C., and Murray, G. 2010. Summarizing software artifacts: A case study of bug reports. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. 505--514. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Reiss, S. 2009. Semantics-based code search. In Proceedings of the 31st International Conference on Software Engineering. 243--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Robillard, M., Coelho, W., and Murphy, G. 2004. How effective developers investigate source code: An exploratory study. IEEE Trans. Softw. Eng. 889--903. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Robillard, M., Walker, R., and Zimmermann, T. 2010. Recommendation systems for software engineering. IEEE Softw. 80--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Sillito, J., Murphy, G., and De Volder, K. 2008. Asking and answering questions during a programming change task. IEEE Trans. Softw. Eng. 34, 4, 434--451. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Simon, F., Steinbruckner, F., and Lewerentz, C. 2001. Metrics based refactoring. In Proceedings of the European Conference on Software Maintenance and Reengineering. 30--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Sjøberg, D. I. K., Dybå, T., Anda, B. C. D., and Hannay, J. E. 2008. Building theories in software engineering. In Guide to Advanced Empirical Software Engineering. Springer, 312--336.Google ScholarGoogle Scholar
  81. Stack Exchange Inc. last accessed 2011. Stack overflow. http://stackoverflow.com/.Google ScholarGoogle Scholar
  82. Storey, M.-A., Cheng, L., Singer, J., and Muller, M. 2007. How programmers can turn comments into waypoints for code navigation. In Proceedings of the IEEE International Conference on Software Maintenance. 265--274.Google ScholarGoogle Scholar
  83. Tidwell, J. 2006. Designing Interfaces. O’Reilly. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Tokuda, L. and Batory, D. 2001. Evolving object-oriented designs with refactorings. Automat. Softw. Eng. 8, 1, 89--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Toomim, M., Begel, A., and Graham, S. 2004. Managing duplicated code with linked editing. In Proceedings of the IEEE Symposium on Visual Languages-Human Centric Computing. 173--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Treude, C. and Storey, M.-A. 2010. Awareness 2.0: Staying aware of projects, developers and tasks using dashboards and feeds. In Proceedings of the ACM/IEEE International Conference on Software Engineering, 365--374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Treude, C. and Storey, M.-A. 2011. Effective communication of software development knowledge through community portals. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering ESEC/FSE). 91--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Treude, C. and Storey, M.-A. 2012. Work item tagging: Communicating concerns in collaborative software development. IEEE Trans. Softw. Eng. 38, 1, 19--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Treude, C., Barzilay, O., and Storey, M.-A. 2011. How do programmers ask and answer questions on the web? (NIER Track). In Proceedings of the ACM/IEEE International Conference on Software Engineering. 804--807. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. van Emden, E. and Moonen, L. 2002. Java quality assurance by detecting code smells. In Proceedings of the 9th Working Conference on Reverse Engineering. 97--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Vigo, M., Leporini, B., and Paterno, F. 2009. Enriching Web information scent for blind users. In Proceedings of the ACM International Conference on Computers and Accessibility. 123--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Wexelblat, A. and Maes, P. 1999. Footprints: History-rich tools for information foraging. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 270--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Würsch, M., Ghezzi, G., Reif, G., and Gall, H. C 2010. Supporting developers with natural language queries. In Proceedings of the ACM/IEEE International Conference on Software Engineering. 165--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Xing, Z. and Stroulia, E. 2006. Refactoring practice: How it is and how it should be supported: An Eclipse case study. In Proceedings of the ACM/IEEE International Conference on Software Maintenance. 458--468. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. Ye, Y., Fischer, G., and Reeves, B. 2000. Integrating active information delivery and reuse repository systems. In Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 60--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Ye, Y., Yamamoto, Y., and Nakakoji, K. 2007. A Socio-technical framework for supporting programmers. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering. 351--360. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Zimmermann, T., Weisgerber, P., Diehl, S., and Zeller, A. 2004. Mining version histories to guide software changes. In Proceedings of the 26th International Conference on Software Engineering. 563--572. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse 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

    Full Access

    • Published in

      cover image ACM Transactions on Software Engineering and Methodology
      ACM Transactions on Software Engineering and Methodology  Volume 22, Issue 2
      March 2013
      190 pages
      ISSN:1049-331X
      EISSN:1557-7392
      DOI:10.1145/2430545
      Issue’s Table of Contents

      Copyright © 2013 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: 1 March 2013
      • Accepted: 1 March 2012
      • Revised: 1 February 2012
      • Received: 1 January 2010
      Published in tosem Volume 22, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader