Skip to main content

Towards a Theory of Factors that Influence Text Comprehension of Code Documents

  • Chapter
  • First Online:

Part of the book series: Understanding Innovation ((UNDINNO))

Abstract

The design of domain-specific software systems can benefit from participatory design practices making domain experts and programmers equal, collaborating partners. The source code of such a system might be a viable communication artifact to mediate the perspectives of the two groups. However, source code written in a general-purpose programming language is often considered too difficult to comprehend for untrained readers. At the same time, it is yet unclear what makes general-purpose programming languages difficult to understand. Based on our previous study and related work from programming pedagogy and cognitive psychology, we develop an initial theory of factors that might influence the comprehensibility of source code documents by untrained readers. This theory covers factors stemming from the features of source code, factors related to the visual appearance of source code, and factors concerned with aspects independent of code documents. This chapter discusses and illustrates these potential factors and points out initial hypotheses about how these factors can influence comprehensibility.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    This is a simplified depiction of the full version of one of the theories on the process of reading. This part of the theory is sufficient for our argument.

  2. 2.

    For example, a survey on studies on how to teach and learn programming found that object-oriented programming was difficult for novices because the program text was distributed across many small elements (Robins et al. 2003).

References

  • Asaro, P. M. (2000). Transforming society by transforming technology: the science and politics of participatory design. Accounting, Management and Information Technologies, 10(4), 257–290.

    Article  Google Scholar 

  • Ashcraft, M. H. (2002). Math anxiety: Personal, educational, and cognitive consequences. Current Directions in Psychological Science, 11(5), 181–185.

    Article  Google Scholar 

  • Barrett, M., & Oborn, E. (2010). Boundary object use in cross-cultural software development teams. Human Relations, 63(8), 1199–1221.

    Article  Google Scholar 

  • Beelders, T., & Plessis, J. P. (2016). Syntax highlighting as an influencing factor when reading and comprehending source code. Journal of Eye Movement Research, 9, 2207–2219.

    Google Scholar 

  • Binkley, D., Davis, M., Lawrie, D., Maletic, J.I., Morrell, C., Sharif, B. (2013). The impact of identifier style on effort and comprehension. Empirical Software Engineering, 18(2), 219–276. https://doi.org/10.1007/s10664-012-9201-4

    Article  Google Scholar 

  • Brooks Jr, F. P. (1995). The mythical man-month.

    Google Scholar 

  • Cook, W. R. (2007). Applescript. In Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages, HOPL III (pp. 1–1–1–21). , New York, NY: ACM. https://doi.org/10.1145/1238844.1238845

  • Ehn, P. (1988). Work-oriented design of computer artifacts. Ph.D. thesis, Arbetslivscentrum.

    Google Scholar 

  • Evans, E. (2004). Domain-driven design: Tackling complexity in the heart of software. Addison-Wesley Professional.

    Google Scholar 

  • Goldberg, A., & Robson, D. (1983). Smalltalk-80: The language and its implementation. Boston, MA: Addison-Wesley Longman.

    Google Scholar 

  • Guo, P. J. (2018). Non-native English speakers learning computer programming: Barriers, desires, and design opportunities. In: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (p. 396). New York: ACM.

    Google Scholar 

  • Hannebauer, C., Hesenius, M., & Gruhn, V. (2018). Does syntax highlighting help programming novices? Empirical Software Engineering, 23(5), 2795–2828. https://doi.org/10.1007/s10664-017-9579-0

    Article  Google Scholar 

  • Kensing, F., & Munk-Madsen, A. (1993). Pd: Structure in the toolbox. Communications of the ACM, 36(6), 78–85. http://doi.acm.org/10.1145/153571.163278

    Article  Google Scholar 

  • Luebbe, A., & Weske, M. (2012). When research meets practice: Tangible business process modeling at work (pp. 211–229). Berlin: Springer. https://doi.org/10.1007/978-3-642-31991-4_12

    Google Scholar 

  • Miara, R. J., Musselman, J. A., Navarro, J. A., & Shneiderman, B. (1983). Program indentation and comprehensibility. Communications of the ACM, 26(11), 861–867.

    Article  Google Scholar 

  • Muller, M. J. (2007). Participatory design: the third space in HCI. In The human-computer interaction handbook (pp. 1087–1108). Boca Raton: CRC Press.

    Google Scholar 

  • Nardi, B. (1993). A small matter of programming: perspectives on end user computing. Cambridge, MA: MIT Press.

    Book  Google Scholar 

  • Rayner, K., Pollatsek, A., & Ashby Jr., C. (2012). Psychology of reading. Hove: Psychology Press. https://doi.org/10.4324/9780203155158

    Book  Google Scholar 

  • Rein, P., Taeumel, M., & Hirschfeld, R. (2020). Towards empirical evidence on the comprehensibility of natural language versus programming language (pp. 111–131). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-030-28960-7_7

    Google Scholar 

  • Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172. https://doi.org/10.1076/csed.13.2.137.14200

    Article  Google Scholar 

  • Shaft, T. M., & Vessey, I. (1995). The relevance of application domain knowledge: The case of computer program comprehension. Information Systems Research, 6(3), 286–299.

    Article  Google Scholar 

  • Sharif, B., & Maletic, J. I. (2010). An eye tracking study on camelcase and under_score identifier styles. In 2010 IEEE 18th International Conference on Program Comprehension (pp. 196–205). Piscataway: IEEE.

    Chapter  Google Scholar 

  • Von Mayrhauser, A., & Vans, A. M. (1995). Program comprehension during software maintenance and evolution. Computer, 28(8), 44–55.

    Article  Google Scholar 

  • Wilson, P., Pombrio, J., & Krishnamurthi, S. (2017). Can we crowdsource language design? In Proceedings of the Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) 2017. New York: ACM Press. https://doi.org/10.1145/3133850.3133863

  • Zhang, S., Schmader, T., & Hall, W. M. (2013). L’eggo my ego: Reducing the gender gap in math by unlinking the self from performance. Self and Identity, 12(4), 400–412.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick Rein .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Rein, P., Taeumel, M., Hirschfeld, R. (2021). Towards a Theory of Factors that Influence Text Comprehension of Code Documents. In: Meinel, C., Leifer, L. (eds) Design Thinking Research . Understanding Innovation. Springer, Cham. https://doi.org/10.1007/978-3-030-62037-0_14

Download citation

Publish with us

Policies and ethics