An Exploratory Study of Computer Program Debugging
- 1 June 1974
- journal article
- research article
- Published by SAGE Publications in Human Factors: The Journal of the Human Factors and Ergonomics Society
- Vol. 16 (3) , 258-277
- https://doi.org/10.1177/001872087401600308
Abstract
This experiment represents a new approach to the study of the psychology of programming, and demonstrates the feasibility of studying an isolated part of the programming process in the laboratory. Thirty experienced FORTRAN programmers debugged 12 one-page FORTRAN listings, each of which was syntactically correct but contained one non-syntactic error (bug). Three classes of bugs (Array bugs, Iteration bugs, and bugs in Assignment Statements) in each of four different programs were debugged. The programmers were divided into five groups, based upon the information, or debugging “aids”, given them. Key results were that debug times were short (median = 6 min.). The aids groups did not debug faster than the control group; programmers adopted their debugging strategies based upon the information available to them. The results suggest that programmers often identify the intended state of a program before they find the bug. Assignment bugs were more difficult to find than Array and Iteration bugs, probably because the latter could be detected from a high-level understanding of the programming language itself. Debugging was at least twice as efficient the second time programmers debugged a program (though with a different bug in it). A simple hierarchical description of debugging was suggested, and some possible “principles” of debugging were identified.Keywords
This publication has 9 references indexed in Scilit:
- Syntactic Errors in Computer ProgrammingHuman Factors: The Journal of the Human Factors and Ergonomics Society, 1974
- Human problem solving: The state of the theory in 1970.American Psychologist, 1971
- On the Psychological Importance of Time in a Time Sharing SystemHuman Factors: The Journal of the Human Factors and Ergonomics Society, 1968
- Selection and evaluation of computer personnel- the research history of SIG/CPRPublished by Association for Computing Machinery (ACM) ,1968
- Further analysis of a computing center environmentCommunications of the ACM, 1967
- An experimental comparison of time sharing and batch processingCommunications of the ACM, 1967
- An Exploratory Investigation of Programmer Performance Under On-Line and Off-Line ConditionsIEEE Transactions on Human Factors in Electronics, 1967
- JOSS: 20,000 hours at a consolePublished by Association for Computing Machinery (ACM) ,1967
- Multiple Range and Multiple F TestsPublished by JSTOR ,1955