• DocumentCode
    1202832
  • Title

    Cognitive heuristics in software engineering applying and extending anchoring and adjustment to artifact reuse

  • Author

    Parsons, Jeffrey ; Saunders, Chad

  • Author_Institution
    Fac. of Bus. Adm., Memorial Univ. of Newfoundland, St. John´´s, Nfld., Canada
  • Volume
    30
  • Issue
    12
  • fYear
    2004
  • Firstpage
    873
  • Lastpage
    888
  • Abstract
    The extensive literature on reuse in software engineering has focused on technical and organizational factors, largely ignoring cognitive characteristics of individual developers. Despite anecdotal evidence that cognitive heuristics play a role in successful artifact reuse, few empirical studies have explored this relationship. This paper proposes how a cognitive heuristic, called anchoring, and the resulting adjustment bias can be adapted and extended to predict issues that might arise when developers reuse code and/or designs. The research proposes that anchoring and adjustment can be manifested in three ways: propagation of errors in reuse artifacts, failure to include requested functionality absent from reuse artifacts, and inclusion of unrequested functionality present in reuse artifacts. Results from two empirical studies are presented. The first study examines reuse of object classes in a programming task, using a combination of practicing programmers and students. The second study uses a database design task with student participants. Results from both studies indicate that anchoring occurs. Specifically, there is strong evidence that developers tend to use the extraneous functionality in the artifacts they are reusing and some evidence of anchoring to errors and omissions in reused artifacts. Implications of these findings for both practice and future research are explored.
  • Keywords
    formal specification; human factors; object-oriented programming; psychology; software libraries; software reusability; cognitive heuristics; database design task; human factor; programming task; requirement specification; reusable libraries; reusable software; software design; software engineering; software psychology; Application software; Computer Society; Databases; Human factors; Object oriented modeling; Programming profession; Psychology; Software engineering; Software libraries; Software reusability;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2004.94
  • Filename
    1377186