skip to main content
10.1145/1188966.1188969dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article

Towards evidence-supported, question-directed collaborative program comprehension

Published: 16 October 2006 Publication History

Abstract

Many software maintenance and enhancement tasks require considerable developer knowledge and experience in order to be efficiently completed on today's large and complex systems. Preserving explicit forms of documentation that are accessible by large development teams with regular developer turnover is a difficult problem. This problem can result in temporal and spatial miscommunication, an easily lost cognitive work context, and largely unmaintainable software. The research described in this paper hypothesizes that the problem may be addressed by a semi-structured goal-question-evidence methodology for program comprehension that has three primary aspects. First, a redocumentation system should function in parallel with the development process by integrating into the user's usual tool environment and development workflow. Second, knowledge should be dispersed throughout a development team as soon as it is discovered so that comprehension is not merely confined to the mind of one individual. Finally, the developer should be made peripherally aware of their work objectives and the surrounding collaborative environment, reducing time spent on task reorientation, context reconstruction, and duplicative work. We present an observational study conducted on pair program comprehension and use the analyzed results to drive the formation of tool requirements for a collaborative comprehension tool. A prototype tool has been developed, showing promise for the methodology.

References

[1]
R. Brooks. Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies, 18(6):542--554, 1983.
[2]
Victor M. González and Gloria Mark. Constant, constant, multi-tasking craziness: managing multiple working spheres. In CHI '04: Proceedings of the SIGCHI Conference on Human factors in Computing Systems, pages 113--120. ACM Press, 2004.
[3]
Singer J., Elves R., and Storey M.-A. Nav-Tracks: Supporting Navigation in Software Maintenance. In ICSM'05: Proceedings of the 21st IEEE International Conference on Software Maintenance, pages 325--334. IEEE CS Press, September 2005.
[4]
Jürgen Koenemann and Scott P. Robertson. Expert problem solving strategies for program comprehension. In CHI '91: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 125--130. ACM Press, 1991.
[5]
S. Letovsky. Cognitive Processes in Program Comprehension. Empirical Studies of Programmers, pages 58--79, 1986.
[6]
David C. Littman, Jeannine Pinto, Stanley Letovsky, and Elliot Soloway. Mental models and software maintenance. In Papers presented at the first workshop on Empirical Studies of Programmers, pages 80--98. Ablex Publishing Corp., 1986.
[7]
Jun Ma. Building reverse engineering tools using Lotus Notes. Master's thesis, University of Victoria, 2004.
[8]
Jun Ma, Holger M. Kienle, Piotr Kaminski, Anke Weber, and Marin Litoiu. Customizing lotus notes to build software engineering tools. In CASCON '03: Proceedings of the 2003 Conference of the Centre for Advanced Studies, pages 211--222. IBM Press, 2003.
[9]
Chapin N. Software maintenance: a different view. In AFIPS Conf. Proc. 54 National Computer Conference, pages 509--513, 1985.
[10]
V. Rajlich and N. Wilde. The role of concepts in program comprehension. In 10th International Workshop on Program Comprehension (IWPC 2002), pages 271--278. IEEE CS Press, 2002.
[11]
Martin P. Robillard and Gail C. Murphy. Concern graphs: finding and describing concerns using structural program dependencies. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 406--416. ACM Press, 2002.
[12]
Martin P. Robillard and Frédéric Weigand-Warr. ConcernMapper: simple view-based separation of scattered concerns. In Proceedings of the Eclipse Technology Exchange at OOPSLA, October 2005.
[13]
E. Soloway and K. Ehrlich. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering, pages 595--609, September 1984.
[14]
Margaret-Anne Storey, Li-Te Cheng, Ian Bull, and Peter Rigby. Waypointing and social tagging to support program navigation. In CHI '06: Extended Abstracts on Human Factors In Computing Systems, pages 1367--1372. ACM Press, 2006.
[15]
Margaret-Anne D. Storey. Theories, methods and tools in program comprehension: past, present and future. In 13th International Workshop on Program Comprehension (IWPC 2005), pages 181--191. IEEE CS Press, 2005.
[16]
Davor Čubranić and Gail C. Murphy. Hipikat: recommending pertinent software development artifacts. In ICSE '03: Proceedings of the 25th International Conference on Software Engineering, pages 408--418. IEEE CS Press, 2003.
[17]
A. von Mayrhauser and A. M. Vans. Industrial experience with an integrated code comprehension model. Software Engineering Journal, 10:171--182, 1995.
[18]
Andrew Walenstein. Observing and measuring cognitive support: Steps toward systematic tool evaluation and engineering. 11th International Workshop on Program Comprehension (IWPC 2003), page 185, 2003.
[19]
Laurie Williams and Robert Kessler. Pair Programming Illuminated. Addison Wesley, 2002.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '06: Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
October 2006
388 pages

Sponsors

  • IBM Toronto Lab
  • CAS

Publisher

IBM Corp.

United States

Publication History

Published: 16 October 2006

Qualifiers

  • Article

Acceptance Rates

CASCON '06 Paper Acceptance Rate 24 of 90 submissions, 27%;
Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 337
    Total Downloads
  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

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