Human factors in software engineering: A review of the literature

Abstract A critical factor in the increased utilization of computer technology is the availability of software. Techniques must be developed to reduce the effort required to develop and maintain software and the availability of software developers must be increased. Both of these approaches could benefit from significant input from the human factors engineering community. Where should our efforts be focused? This paper will: 1. (1) provide a framework for studying human factors in software engineering; 2. (2) summarize the literature on human factors in software engineering; and 3. (3) identify some research areas that should be addressed.

[1]  John D. Gould,et al.  Syntactic Errors in Computer Programming , 1974 .

[2]  H. Simon,et al.  Perception in chess , 1973 .

[3]  Ben Shneiderman,et al.  Measuring Computer Program Quality and Comprehension , 1977, Int. J. Man Mach. Stud..

[4]  R. Mayer Different problem-solving competencies established in learning computer programming with and without meaningful models. , 1975 .

[5]  E. E. Grant,et al.  Exploratory experimental studies comparing online and offline programming performance , 1968, CACM.

[6]  Phyllis Reisner,et al.  Human Factors Studies of Database Query Languages: A Survey and Assessment , 1981, CSUR.

[7]  J. B. Brooke,et al.  Experimental studies of flowchart use at different stages of program debugging , 1980 .

[8]  John Cooke,et al.  Human Error In Programming: The Need To Study The Individual Programmer , 1975 .

[9]  John D. Gannon,et al.  Analysis of the effects of programming factors on programming effort , 1980, J. Syst. Softw..

[10]  Allen Newell,et al.  Human Problem Solving. , 1973 .

[11]  Harold Sackman,et al.  Man-computer problem solving , 1970 .

[12]  Victor R. Basili,et al.  A Controlled Experiment Quantitatively Comparing Software Development Approaches , 1981, IEEE Transactions on Software Engineering.

[13]  Kurt F. Reinhardt,et al.  The new Tower of Babel , 1954 .

[14]  P. G. Moulton,et al.  DITRAN—a compiler emphasizing diagnostics , 1967, CACM.

[15]  Thomas R. G. Green,et al.  Ifs and thens: Is nesting just for the birds? , 1980, Softw. Pract. Exp..

[16]  Kate Ehrlich,et al.  Collecting and analyzing on-line protocols from novice programmers , 1982 .

[17]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

[18]  B. A. Sheil,et al.  The Psychological Study of Programming , 1981, CSUR.

[19]  Michael E. Atwood,et al.  A Critically Annotated Bibliography of the Literature on Human Factors in Computer Systems. , 1978 .

[20]  Bill Curtis,et al.  Measuring the Psychological Complexity of Software Maintenance Tasks with the Halstead and McCabe Metrics , 1979, IEEE Transactions on Software Engineering.

[21]  John A. Gould,et al.  Some Psychological Evidence on How People Debug Computer Programs , 1975, Int. J. Man Mach. Stud..

[22]  Thomas R. G. Green,et al.  Reducing Programming Errors in Nested Conditionals by Prescribing a Writing Procedure , 1977, Int. J. Man Mach. Stud..

[23]  Gerald M. Weinberg,et al.  Goals and Performance in Computer Programming , 1974 .

[24]  Richard E. Mayer,et al.  The Psychology of How Novices Learn Computer Programming , 1981, CSUR.

[25]  SYLVIA B. SHEPPARD,et al.  First-year results from a research program on human factors in software engineering , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[26]  Ben Shneiderman,et al.  Exploratory experiments in programmer behavior , 1976, International Journal of Computer & Information Sciences.

[27]  Larry Weissman,et al.  Psychological complexity of computer programs: an experimental methodology , 1974, SIGP.

[28]  J. Reitman,et al.  Knowledge organization and skill differences in computer programmers , 1981, Cognitive Psychology.

[29]  Ruven Brooke A model of human cognitive behavior in writing code for computer programs , 1975, IJCAI 1975.

[30]  Daniel W. Lewis A Review of Approaches to Teaching Fortran , 1979, IEEE Transactions on Education.

[31]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .

[32]  H. Sackmanh Experimental Analysis of Man-Computer Problem-Solving , 1970 .

[33]  Robert L. Glass,et al.  Persistent Software Errors , 1981, IEEE Transactions on Software Engineering.

[34]  Bayard E. Wynne,et al.  Experienced Managers' Performance in Experimental Man-Machine Decision System Simulation , 1975 .

[35]  Will Tracz,et al.  Computer programming and the human thought process , 1979, Softw. Pract. Exp..

[36]  Ben Shneiderman,et al.  Improving the human factors aspect of database interactions , 1978, TODS.

[37]  Bill Curtis,et al.  Modern Coding Practices and Programmer Performance , 1979, Computer.

[38]  Henry C. Lucas,et al.  A Structured Programming Experiment , 1976, Comput. J..

[39]  John D. Gould,et al.  An Exploratory Study of Computer Program Debugging1 , 1974 .

[40]  Ben Shneiderman,et al.  Teaching programming: A spiral approach to syntax and semantics , 1977 .

[41]  Ronald S. Lemos Measuring Programming Language Proficiency. , 1980 .

[42]  Ben Shneiderman,et al.  An Experiment Using Memorization/Reconstruction as a Measure of Programmer Ability , 1980, Int. J. Man Mach. Stud..

[43]  Thomas R. G. Green,et al.  Scope Marking in Computer Conditionals - A Psychological Evaluation , 1977, Int. J. Man Mach. Stud..

[44]  Earl Chrysler,et al.  Some basic determinants of computer programming productivity , 1978, CACM.

[45]  Laurence Mark Weissman,et al.  A methodology for studying the psychological complexity of computer programs. , 1974 .

[46]  Thomas R. G. Green,et al.  Jumping to Some Purpose , 1979, Comput. J..

[47]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .