skip to main content
article
Free Access

Cognitive bias in software engineering

Published:01 June 1995Publication History
Skip Abstract Section

Abstract

Developer's thought processes are a fundamental area of concern. Cognitive scientist have discovered that people's intiative inferences and probality judgments do not strictly conform to the laws of logic or mathematics, and that people are willing to provide plausible explanations for random events. This article examines the role these phenomena might have in software development, ultimately concluding that what are cast as one-sided software development guidelines often can be recast beneficially as two-sided trade-offs.

References

  1. 1 Chidamber, S., and Ketterer, C. Towards a metrics suite for object-oriented design. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, and Languages, and Applications. ACM Press, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Cox, J.R., and Briggs, R.A. The effects of experience on performance in Wason's selection task. Memory and Cognition 10 (1982), 496-502.Google ScholarGoogle ScholarCross RefCross Ref
  3. 3 Eisenstadt, M. Tales of debugging from the front lines. In Empirical Studies of Programmers: Fifth Workshop, C.R. Cook, J.C. Scholtz, and J.C. Spohrer, Eds. Ablex, Norwood, NJ, 1993.Google ScholarGoogle Scholar
  4. 4 Fischhoff, B. Debiasing. In D. Kahneman, P. Slovik, and A. Tversky, Eds., Judgment Under Uncertainty: Heuristics and Biases. Cambridge University Press, Cambridge, UK, 1982.Google ScholarGoogle Scholar
  5. 5 Garavan, H. When falsification fails. Master's thesis, Bowling Green State University Department of Psychology, 1993.Google ScholarGoogle Scholar
  6. 6 Gilovich, T. How We Know What lsn't So. Free Press, New York, 1991.Google ScholarGoogle Scholar
  7. 7 Gilovich, T., Vallone, R., and Tversky, A. The hot hand in basketball: On the misperception of random sequences. Cognitive Psych. 17 (1985), 295-314.Google ScholarGoogle ScholarCross RefCross Ref
  8. 8 Halbert, D., and O'Brien, P. Using types and inheritance in object-oriented programming, 1988. 1EEE Software 4, 5 (Apr. 1988), 75.Google ScholarGoogle Scholar
  9. 9 Johnson-Laird, P.N. Mental Models. Harvard University Press, Cambridge, Mass., 1983.Google ScholarGoogle Scholar
  10. 10 Johnson-Laird, P.N., Legrenzi, P., and Legrenzi, N.S. Reasoning and a sense of reality. British Journal of Psychology 62 (1972), 392-400.Google ScholarGoogle Scholar
  11. 11 Kahneman, D., and Tversky, A. Belief in the law of small numbers. Psych. Bull. 2 (1971), 105-110.Google ScholarGoogle Scholar
  12. 12 Kahneman, D., and Tversky, A. Subjective probability: A judgment of representativeness. Cognit. Psych. 3 (1972) 430-454.Google ScholarGoogle ScholarCross RefCross Ref
  13. 13 Kahneman, D., and Tversky, A. Forecasting. In TIMS Studies in Management Science 12, (1979), S. Makridakis and S.C. Wheelwright, Eds., 313-327.Google ScholarGoogle Scholar
  14. 14 Love, T. Object Lessons. SIGS Publications, New York, 1993.Google ScholarGoogle Scholar
  15. 15 PerU, D., and Kaiser, G. Adequate testing and object-oriented programming.J. Object-Oriented Programming 2, 5 (1990), 13-19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Ross, M., and Sicoly, F. Egocentric biases in availability and attribution. J. Soc. Psych. and Personality 17 (1979), 322-336.Google ScholarGoogle ScholarCross RefCross Ref
  17. 17 Stacy, W. Ideal application environments are language-specific. Presented at Object World, Boston, 1994.Google ScholarGoogle Scholar
  18. 18 Stroustrup, B. The C++ Programming Language. 2d ed. Addison- Wesley, Reading, Mass., 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Stroustrup, B. Design and Evolution of the C++ Programming Language. Addison-Wesley, Reading, Mass., 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Teasley, B., Leventhal, L.M., and Rohlman, S. Positive test bias in software testing by professionals: What's right and what's wrong. In Empirical Studies of Programmers: Fifth Workshop, C.R. Cook, J.C. Scholtz, and J.C. Spohrer, Eds. Ablex, Norwood, NJ, 1993.Google ScholarGoogle Scholar
  21. 21 Wason, P.C. Reasoning. In New Horizons in Psychology, B. Foss, Ed., Penguin, Middlesex, UK, 1966.Google ScholarGoogle Scholar

Index Terms

  1. Cognitive bias in software engineering

        Recommendations

        Reviews

        Scott R. Tilley

        Cognitive scientists have observed that people's intuitive inferences and probability judgments do not strictly conform to the laws of logic or mathematics and that people are willing to provide plausible explanations for random events. This paper describes several well-established judgmental biases and gives examples of how they might apply to the everyday life of a software engineer. Most of the examples have not been empirically investigated or tested, but are merely proposed as possible explanations. This paper sets out several interesting examples of cognitive biases and presents an intriguing argument for viewing normal development guidelines as two-sided tradeoffs. Using examples drawn from testing and debugging, two traditional software engineering roles requiring program understanding expertise, the authors explain how software engineers—like most people—tend to seek evidence to verify theories, but not evidence that could falsify them. Further examples using object-oriented development strategies as examples are also provided. The paper is well written, well structured, and easy to read. It is more of an essay than a research paper, which is fine, given its stated goals. The authors discuss the roles of cognitive biases and mental representations in software engineering and offer singular advice for debiasing. I enjoyed reading the paper. It provides a broad perspective on the cognitive aspects of software engineering, which I found refreshing.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Communications of the ACM
          Communications of the ACM  Volume 38, Issue 6
          June 1995
          105 pages
          ISSN:0001-0782
          EISSN:1557-7317
          DOI:10.1145/203241
          Issue’s Table of Contents

          Copyright © 1995 ACM

          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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 June 1995

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader