Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1056018.1056044acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
Article

Towards understanding programs through wear-based filtering

Published: 14 May 2005 Publication 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.
[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.
[3]
"Camtasia Studio, "TechSmith.
[4]
Cohen, J., editor, "Special Issue on Information Filtering," in Communications of the ACM, vol. 35, 1992.
[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.
[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.
[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.
[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.
[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.
[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.
[11]
W. C. Hill, J. D. Hollan, D. Wroblewski, and T. McCandless, "Edit Wear and Read Wear," in Proceedings of CHI'92, 1992.
[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.
[13]
B. Lee and B. Bederson, "Favorite Folders: A Configurable, Scalable File Browser," UMD 2003.
[14]
S. Letovsky, "Cognitive processes in program comprehension," first workshop on empirical studies of programmers on Empirical studies of programmers, 1986.
[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.
[16]
A. Von Mayrhauser and A. M. Vans, "Program comprehension during software maintenance and evolution," Computer, vol. 28, pp. 44--55, 1995.
[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.
[18]
A. V. Mayrhauser and A. M. Vans, Program Comprehension During Software Maintenance and Evolution: IEEE Computer Society Press, 2001.
[19]
P. W. Oman and C. R. Cook, "Typographic Style is More than Cosmetic," Communication of the ACM, vol. 33, pp. 506--520, 1990.
[20]
N. Pennington, "Comprehension strategies in programming," Empirical Studies on Programmers - Second workshop, Norwood, NJ, 1987.
[21]
N. Pennington, "Stimulus Structures and Mental Representations In Expert Comprehension of Computer Programs," Cognitive Psychology, vol. 19, pp. 295--341, 1987.
[22]
M. Petre, "Why looking isn't always seeing: readership skills and graphical programming," Communications of the. ACM, vol. 38, pp. 33--44, 1995.
[23]
R. S. Rist, "Plans in programming: Definition, Demonstration, and Development," Empirical Studies of Programmers, 1st Workshop, 1986.
[24]
D. A. Scanlan, "Structured flowcharts outperform pseudocode: An experimental comparison," IEEE Trans. Softw. Eng., 1989.
[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.
[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.
[27]
B. Shneiderman, "Measuring computer program quality and comprehension," International Journal of Man-Machine Studies, vol. 9, pp. 465--478, 1977.
[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.
[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.
[30]
E. Soloway and K. Ehrlich, "Empirical studies of programming knowledge," Readings in artificial intelligence and software engineering, 1986.
[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.
[32]
S. Wiedenbeck, "Beacons in computer program comprehension.," International Journal of Man-Machine Studies, vol. 25, pp. 697--709, 1986.
[33]
S. Wiedenbeck, "Novice/Expert Differences in Programming Skills," International Journal of Man-Machine Studies, vol. 23, pp. 383--390, 1985.
[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.

Cited By

View all
  • (2023)A Comparative Evaluation of Tabs and Linked Panels for Program Understanding in Augmented Reality2023 IEEE International Symposium on Mixed and Augmented Reality (ISMAR)10.1109/ISMAR59233.2023.00017(29-38)Online publication date: 16-Oct-2023
  • (2020)Predicting code context models for software development tasksProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416544(809-820)Online publication date: 21-Dec-2020
  • (2020)Find Unique Usages: Helping Developers Understand Common Usages2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127285(1-8)Online publication date: Aug-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. collaborative filtering
  2. computational wear
  3. implicit query
  4. program comprehension
  5. software visualization

Qualifiers

  • Article

Conference

Acceptance Rates

Overall Acceptance Rate 20 of 65 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)A Comparative Evaluation of Tabs and Linked Panels for Program Understanding in Augmented Reality2023 IEEE International Symposium on Mixed and Augmented Reality (ISMAR)10.1109/ISMAR59233.2023.00017(29-38)Online publication date: 16-Oct-2023
  • (2020)Predicting code context models for software development tasksProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering10.1145/3324884.3416544(809-820)Online publication date: 21-Dec-2020
  • (2020)Find Unique Usages: Helping Developers Understand Common Usages2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127285(1-8)Online publication date: Aug-2020
  • (2020)Using Eye Tracking Data to Improve Requirements Specification UseRequirements Engineering: Foundation for Software Quality10.1007/978-3-030-44429-7_3(36-51)Online publication date: 18-Mar-2020
  • (2019)Towards an Empirically-Based IDE: An Analysis of Code Size and Screen Space2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VLHCC.2019.8818857(199-203)Online publication date: Oct-2019
  • (2019)Word Embeddings for Comment Coherence2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA.2019.00046(244-251)Online publication date: Aug-2019
  • (2019)Attention in software maintenanceProceedings of the 6th International Workshop on Eye Movements in Programming10.1109/EMIP.2019.00009(2-9)Online publication date: 27-May-2019
  • (2019)Leveraging usage data of software architecture artefactsProceedings of the 2nd International Workshop on Establishing a Community-Wide Infrastructure for Architecture-Based Software Engineering10.1109/ECASE.2019.00011(13-21)Online publication date: 27-May-2019
  • (2018)A Qualitative Investigation of Landmarks in Software Code NavigationProceedings of the 2nd International Conference on Compute and Data Analysis10.1145/3193077.3193091(80-84)Online publication date: 23-Mar-2018
  • (2018)Coherence of comments and method implementationsSoftware Quality Journal10.1007/s11219-016-9347-126:2(751-777)Online publication date: 1-Jun-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media