skip to main content
10.1145/1056018.1056044acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
Article

Towards understanding programs through wear-based filtering

Published:14 May 2005Publication History

ABSTRACT

Large software projects often require a programmer to make changes to unfamiliar source code. This paper presents the results of a formative observational study of seven professional programmers who use a conventional development environment to update an unfamiliar implementation of a commonly known video game. We describe several usability problems they experience, including keeping oriented in the program's source text, maintaining the number and layout of open text documents and relying heavily on textual search for navigation. To reduce the cost of transferring knowledge about the program among developers, we propose the idea of wear-based filtering, a combination of computational wear and social filtering. The development environment collects interaction information, as with computational wear, and uses that information to direct the attention of subsequent users, as with social filtering. We present sketches of new visualizations that use wear-based filtering and demonstrate the feasibility of our approach with data drawn from our study.

References

  1. C. F. Bertholf and J. Scholtz, "Program Comprehension of Literate Programs by Novice Programmers., "Empirical Studies of Programmers: Fifth Workshop., Norwood, NJ, 1993.Google ScholarGoogle Scholar
  2. R. Brooks, "Towards a Theory of the Comprehension of Computer Programs, "International Journal of Man-Machine Studies 18, vol. 18, pp. 543--554, 1983.Google ScholarGoogle ScholarCross RefCross Ref
  3. "Camtasia Studio, "TechSmith.Google ScholarGoogle Scholar
  4. Cohen, J., editor, "Special Issue on Information Filtering," in Communications of the ACM, vol. 35, 1992.Google ScholarGoogle Scholar
  5. M. E. Crosby, J. Scholtz, and S. Wiedenbeck, "The Roles Beacons Play in Comprehension for Novice and Expert Programmers," in Proceedings of PPIG, 2002.Google ScholarGoogle Scholar
  6. M. Czerwinski, S. Dumais, G. Robertson, S. Dziadosz, S. Tiernan, and M. v. Dantzich, "Visualizing implicit queries for information management and retrieval," in Proceedings of CHI'99, 1999, 560--567. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. G. Eick, J. L. Steffen, and J. Eric E. Summer, "Seesoft-A Tool for Visualizing Line Oriented Software Statistics," IEEE Trans. Softw. Eng., vol. 18, pp. 957--968, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. M. Gellenbeck and C. R. Cook, "An Investigation of Procedure and Variable Names as Beacons during Program Comprehension, "Empirical Studies of Programmers, fourth Workshop, ed. J. Koenemann-Belliveau, T. G. Moher and S. P. Robertson, Ablex, Norwood NJ, 1991.Google ScholarGoogle Scholar
  9. D. Goldberg, D. Nichols, B. M. Oki, and D. Terry, "Using collaborative filtering to weave an information tapestry," Communications of the ACM, vol. 35, pp. 61--70, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. R. G. Green and M. Petre, "When Visual Programs are Harder to Read than Textual Programs," in Human-Computer Interaction: Tasks and Organisation, Proceedings {ECCE}-6 (6th European Conference Cognitive Ergonomics), 1992.Google ScholarGoogle Scholar
  11. W. C. Hill, J. D. Hollan, D. Wroblewski, and T. McCandless, "Edit Wear and Read Wear," in Proceedings of CHI'92, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. A. Konstan, B. N. Miller, D. Maltz, J. L. Herlocker, L. R. Gordon, and J. Riedl, "GroupLens: applying collaborative filtering to Usenet news," Communications of the ACM, vol. 40, pp. 77--87, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Lee and B. Bederson, "Favorite Folders: A Configurable, Scalable File Browser," UMD 2003.Google ScholarGoogle Scholar
  14. S. Letovsky, "Cognitive processes in program comprehension," first workshop on empirical studies of programmers on Empirical studies of programmers, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. C. Littman, J. Pinto, S. Letovsky, and E. Soloway, "Mental models and software maintenance," first workshop on empirical studies of programmers on Empirical studies of programmers, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Von Mayrhauser and A. M. Vans, "Program comprehension during software maintenance and evolution," Computer, vol. 28, pp. 44--55, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Von Mayrhauser and A. M. Vans, "Identification of dynamic comprehension processes during large scale maintenance.," IEEE Transactions on Software Engineering, vol. 22, pp. 424--437, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. V. Mayrhauser and A. M. Vans, Program Comprehension During Software Maintenance and Evolution: IEEE Computer Society Press, 2001.Google ScholarGoogle Scholar
  19. P. W. Oman and C. R. Cook, "Typographic Style is More than Cosmetic," Communication of the ACM, vol. 33, pp. 506--520, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Pennington, "Comprehension strategies in programming," Empirical Studies on Programmers - Second workshop, Norwood, NJ, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Pennington, "Stimulus Structures and Mental Representations In Expert Comprehension of Computer Programs," Cognitive Psychology, vol. 19, pp. 295--341, 1987.Google ScholarGoogle ScholarCross RefCross Ref
  22. M. Petre, "Why looking isn't always seeing: readership skills and graphical programming," Communications of the. ACM, vol. 38, pp. 33--44, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. S. Rist, "Plans in programming: Definition, Demonstration, and Development," Empirical Studies of Programmers, 1st Workshop, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. A. Scanlan, "Structured flowcharts outperform pseudocode: An experimental comparison," IEEE Trans. Softw. Eng., 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Schneider, K. A., Gutwin, C., Penner, R. and Paquette, D. "Mining a Software Developer's Local Interaction History," 1st International Workshop on Mining Software Repositories, 2004.Google ScholarGoogle Scholar
  26. U. Shardanand and P. Maes, "Social information filtering: algorithms for automating "word of mouth", "in Proceedings of the CHI'95, 1995, pp. 210--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. B. Shneiderman, "Measuring computer program quality and comprehension," International Journal of Man-Machine Studies, vol. 9, pp. 465--478, 1977.Google ScholarGoogle ScholarCross RefCross Ref
  28. B. Shneiderman, R. Mayer, D. McKay, and P. Heller, "Experimental investigations of the utility of detailed flowcharts in programming," Communications of the ACM, vol. 20, pp. 373--381, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. B. Shneiderman, R. Mayer, D. McKay, and P. Heller, "Experimental investigations of the utility of detailed flowcharts in programming," Communications of the ACM, vol. 20, pp. 373--381, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Soloway and K. Ehrlich, "Empirical studies of programming knowledge," Readings in artificial intelligence and software engineering, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M.-A. D. Storey, K. Wong, and H. A. Muller, "Rigi: A Visualization Environment for Reverse Engineering," 19th International Conference on Software Engineering, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Wiedenbeck, "Beacons in computer program comprehension.," International Journal of Man-Machine Studies, vol. 25, pp. 697--709, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. Wiedenbeck, "Novice/Expert Differences in Programming Skills," International Journal of Man-Machine Studies, vol. 23, pp. 383--390, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Wiedenbeck and J. Scholtz, "Beacons: A knowledge structure in program comprehension," in Designing and Using Human-Computer Interfaces and Knowledge Based Systems., G. Salvendy and M. J. Smith, Eds. Amsterdam, The Netherlands: Elsevier, 1989, pp. 82--87. Google ScholarGoogle ScholarDigital LibraryDigital Library

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
    SoftVis '05: Proceedings of the 2005 ACM symposium on Software visualization
    May 2005
    211 pages
    ISBN:1595930736
    DOI:10.1145/1056018

    Copyright © 2005 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: 14 May 2005

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate20of65submissions,31%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader