Skip to main content

Analysis of Experts’ and Novices’ Thinking Process in Program Debugging

  • Conference paper
Book cover Engaging Learners Through Emerging Technologies (ICT 2012)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 302))

Included in the following conference series:

Abstract

Program debugging is a complex cognitive process. Since it is an important step in programming, debug training not only improves learner’s programming capacity, but also their problem solving capacity. For the purpose of this paper, three C language experts were invited; novices were represented by three third-year students. All six persons participated in a think-aloud experiment, where every person was given two programs to debug; each program was set up to contain three error types, i.e. syntax, semantic and logic.

The results showed that experts have a better grasp of feedback from the compiler. On the other hand, experts and novices have similar thinking process in syntax debugging. In semantic debugging, experts are able to comprehend the output results, but novices are rather confused; as to logic debugging, novices are less developed in logical structuring. This paper suggests student’s debugging capacity must be reinforced in programming courses, particularly in semantic and logic debugging.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Allwood, C.M., Bjorhag, C.G.: Novice’s debugging when programming in Pascal. International Journal of Man-Machine Studies 33, 707–724 (1990)

    Article  Google Scholar 

  • Bellows, P.: High-visibility debug-by-design for FPGA platforms. Journal of Supercomputing 32(2), 105–118 (2005)

    Article  Google Scholar 

  • Bisant, D.B., Groninger, L.: Cognitive processes in software fault detection: a review and synthesis. International Journal of Human-Computer Interaction 5(2), 189–206 (1993)

    Article  Google Scholar 

  • Brooks, R.: Towards a theory of the comprehension of computer program. International Journal of Man-Machine Studies 18(6), 543–554 (1983)

    Article  MathSciNet  Google Scholar 

  • Carver, S.M., Klahr, D.: Assessing children’s LOGO debugging skills with a formal model. Journal of Educational Computing Research 2(4), 487–525 (1986)

    Article  Google Scholar 

  • Carver, S.M., Risinger, S.C.: Improving children’s debugging skills. In: Empirical Studies of Programmer: Second Workshop, pp. 147–171. Ablex, Norwood (1987)

    Google Scholar 

  • Gill, R.: VBA programming for Microsoft Office project, versions 98 through 2007. SciTech Book News 31(3) (2007)

    Google Scholar 

  • Gilmore, D.J.: Models of debugging. Acta Psychologica 78, 151–172 (1991)

    Article  Google Scholar 

  • Goering, R.: Multicore design strives for balance: but programming, debug tools complicate adoption. Electronic Engineering Times 1416, 1–74 (2006)

    Google Scholar 

  • Gould, J.D.: Some psychological evidence on how people debug computer program. International Journal of Man-Machine Studies 7(1), 151–181 (1975)

    Article  MATH  Google Scholar 

  • Katz, I.R., Anderson, J.R.: Debugging: an analysis of bug-location strategies. Human-Computer Interaction 3, 351–399 (1988)

    Article  Google Scholar 

  • Ko, A.J., Myers, B.A.: Development and evaluation of a model of programming errors. In: Proceedings of IEEE Symposia on Human-Centric Computing Languages and Environments, pp. 7–14 (2003)

    Google Scholar 

  • Krutetskii, V.A.: The psychology of mathematical abilities in school children. The University of Chicago Press, Chicago (1976)

    Google Scholar 

  • Lammers, D.: Debugger covers every embedded pin. Electronic Engineering Times 1436, 34 (2006)

    Google Scholar 

  • Larkin, J., Dorothea, P.S., Herbert, A.S.: Expert and Novice Performance in Solving Physics Problems. Science 208(4450), 1335–1342 (1980)

    Article  Google Scholar 

  • Letovsky, S.: Cognitive processes in program comprehension. Empirical Studies of Programmers, 58–79 (1986)

    Google Scholar 

  • Letovsky, S., Soloway, E.: Delocalized plans and program comprehension. IEEE Software 19(3), 41–48 (1986)

    Article  Google Scholar 

  • Mark, J.: British inventors develop chip debugging method. US Fed News Service, Including US State News. Washington, D.C. (2007)

    Google Scholar 

  • Maria, S.: Competencies and tips for effective leadership: from novice to expert. Journal of Nursing Administration 37(4), 167–170 (2007)

    Article  Google Scholar 

  • Miller, L.A.: Programming by non-programmers. International Journal of Man-Machine Studies 6, 237–260 (1974)

    Article  Google Scholar 

  • Mutschler, A.S.: Ambric aims for massively-parallel programming. Electronic News 52(42), 21 (2006)

    Google Scholar 

  • Nanja, M., Cook, C.R.: An analysis of the on-line debugging process. In: Empirical Studies of Programmers: Second Workshop, pp. 172–184 (1987)

    Google Scholar 

  • Newell, A.J., Simon, H.A.: Human problem solving. Prentice-Hall, Englewood Cliffs (1972)

    Google Scholar 

  • Patterson, D.A.: Reflections on a programming olympiad. Communications of the ACM 48(7), 15–16 (2005)

    Article  Google Scholar 

  • Rezel, E.S.: The effect of training subjects in self-explanation strategies on problem solving success in computer programming. Abstract retrieved from ProQuest-Dissertation, AAI3093148 (2003)

    Google Scholar 

  • Ruthruff, J.R., Prabhakararao, S., Reichwein, J., Cook, C., Creswick, E., Burnett, M.: Interactive, visual fault localization support for end-user programmers. Journal of Visual Languages & Computing 16(1/2), 3–40 (2005)

    Article  Google Scholar 

  • Singh, C.: Student understanding of symmetry and Gauss’s law of electricity. American Journal of Physics 74(10), 923–936 (2006)

    Article  Google Scholar 

  • Tsau, S.R.: College students’ diagnostic capabilities in computer programming. Abstract retrieved from ProQuest-Dissertation, AAI9636605 (1996)

    Google Scholar 

  • Vessey, I.: Expertise in debugging computer program: an analysis of the content of verbal protocols. IEEE Transactions on System, Man and Cybernetics 16(5), 621–638 (1986)

    Article  Google Scholar 

  • Vessey, I.: Expertise in debugging computer programs. International Journal of Man-Machine Studies 18, 459–494 (1983)

    Google Scholar 

  • Wiedenbeck, S.: Novice/expert differences in programming skills. International Journal of Man-Machine Studies 23, 383–390 (1985)

    Article  Google Scholar 

  • Xu, S.: Cognitive aspects of software engineering processes. Abstract retrieved from ProQuest-Dissertation, AAI3210999 (2006)

    Google Scholar 

  • Uchina, S., Monden, A., Linda, H., Matsumoto, K., Inoue, K., Kudo, H.: Debugging process models based on changes in impressions of software modules. In: Proceedings of International Symposium on Future Software Technology, pp. 172–184 (2000)

    Google Scholar 

  • Yoon, B., Garcia, O.N.: Cognitive activities and support in debugging. In: Proceedings of 4th Annual Symposia on Human Interaction with Complex System, pp. 160–169 (1998)

    Google Scholar 

  • Youngs, E.A.: Human errors in programming. International Journal of Man-Machine Studies 6, 361–376 (1974)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yen, CZ., Wu, PH., Lin, CF. (2012). Analysis of Experts’ and Novices’ Thinking Process in Program Debugging. In: Li, K.C., Wang, F.L., Yuen, K.S., Cheung, S.K.S., Kwan, R. (eds) Engaging Learners Through Emerging Technologies. ICT 2012. Communications in Computer and Information Science, vol 302. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31398-1_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31398-1_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31397-4

  • Online ISBN: 978-3-642-31398-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics