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.
- C. F. Bertholf and J. Scholtz, "Program Comprehension of Literate Programs by Novice Programmers., "Empirical Studies of Programmers: Fifth Workshop., Norwood, NJ, 1993.Google Scholar
- 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 ScholarCross Ref
- "Camtasia Studio, "TechSmith.Google Scholar
- Cohen, J., editor, "Special Issue on Information Filtering," in Communications of the ACM, vol. 35, 1992.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- W. C. Hill, J. D. Hollan, D. Wroblewski, and T. McCandless, "Edit Wear and Read Wear," in Proceedings of CHI'92, 1992. Google ScholarDigital Library
- 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 ScholarDigital Library
- B. Lee and B. Bederson, "Favorite Folders: A Configurable, Scalable File Browser," UMD 2003.Google Scholar
- S. Letovsky, "Cognitive processes in program comprehension," first workshop on empirical studies of programmers on Empirical studies of programmers, 1986. Google ScholarDigital Library
- 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 ScholarDigital Library
- A. Von Mayrhauser and A. M. Vans, "Program comprehension during software maintenance and evolution," Computer, vol. 28, pp. 44--55, 1995. Google ScholarDigital Library
- 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 ScholarDigital Library
- A. V. Mayrhauser and A. M. Vans, Program Comprehension During Software Maintenance and Evolution: IEEE Computer Society Press, 2001.Google Scholar
- P. W. Oman and C. R. Cook, "Typographic Style is More than Cosmetic," Communication of the ACM, vol. 33, pp. 506--520, 1990. Google ScholarDigital Library
- N. Pennington, "Comprehension strategies in programming," Empirical Studies on Programmers - Second workshop, Norwood, NJ, 1987. Google ScholarDigital Library
- N. Pennington, "Stimulus Structures and Mental Representations In Expert Comprehension of Computer Programs," Cognitive Psychology, vol. 19, pp. 295--341, 1987.Google ScholarCross Ref
- M. Petre, "Why looking isn't always seeing: readership skills and graphical programming," Communications of the. ACM, vol. 38, pp. 33--44, 1995. Google ScholarDigital Library
- R. S. Rist, "Plans in programming: Definition, Demonstration, and Development," Empirical Studies of Programmers, 1st Workshop, 1986. Google ScholarDigital Library
- D. A. Scanlan, "Structured flowcharts outperform pseudocode: An experimental comparison," IEEE Trans. Softw. Eng., 1989. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- B. Shneiderman, "Measuring computer program quality and comprehension," International Journal of Man-Machine Studies, vol. 9, pp. 465--478, 1977.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- E. Soloway and K. Ehrlich, "Empirical studies of programming knowledge," Readings in artificial intelligence and software engineering, 1986. Google ScholarDigital Library
- 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 ScholarDigital Library
- S. Wiedenbeck, "Beacons in computer program comprehension.," International Journal of Man-Machine Studies, vol. 25, pp. 697--709, 1986. Google ScholarDigital Library
- S. Wiedenbeck, "Novice/Expert Differences in Programming Skills," International Journal of Man-Machine Studies, vol. 23, pp. 383--390, 1985. Google ScholarDigital Library
- 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 ScholarDigital Library
Recommendations
A New Method of Tool Wear Measurement
ICECE '10: Proceedings of the 2010 International Conference on Electrical and Control EngineeringIn NC milling process, tool wear measurement is an integral part of establishing tool wear model. In this paper, a new method of measuring tool wear is presented. This method maps tool wear into a kind of material which has no or less influence on tool ...
Electrode wear estimation model for EDM drilling
Electric discharge machining (EDM) is commonly used to machine precise and tiny parts when conventional cutting methods face difficulty in meeting productivity and tolerance requirements. Especially, EDM-drilling is an efficient process for the ...
On-line tool wear measurement for ball-end milling cutter based on machine vision
Cutting tool wear is known to affect tool life, surface quality and production time. In this paper, a new on-line tool wear measuring algorithm is proposed to acquire tool wear using machine vision in order to establish on-line tool wear monitoring ...
Comments