The process of software maintenance: a comparison of object-oriented and third-generation development languages

We suggest that there is a lack of empirical evidence for claims that object-oriented software has an advantage in terms of software maintenance. We use a model of software maintenance that suggests that the maintenance task and programming language have an impact on the maintenance process and, in turn, use the maintenance process to explore the impact of the programming language on the maintenance process. A field study design, using students, examined the perceived difference in process employed by students using an object-oriented language and those using a third-generation language. We found a difference in the perceived process used by the two groups of students. Students using the object-oriented language perceived that they performed more planning and diagnosis activities during the maintenance process and students using a third-generation language perceived that they performed more knowledge building activities. Copyright © 2007 John Wiley & Sons, Ltd.

[1]  Norman Wilde,et al.  Maintenance support for object oriented programs , 1991, Proceedings. Conference on Software Maintenance 1991.

[2]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[3]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[4]  N. Schneidewind,et al.  Towards an Ontology of software maintenance , 1999 .

[5]  Sridhar P. Nerur,et al.  Revolution or Evolution: A Comparison of Object-Oriented and Structured Systems Development Methods , 2001, MIS Q..

[6]  Norman Wilde,et al.  Maintaining object-oriented software , 1993, IEEE Software.

[7]  Mary Beth Rosson,et al.  The Cognitive Consequences of Object-Oriented Design , 1990, Hum. Comput. Interact..

[8]  Akhilesh Chandra,et al.  User cognitive representations: The case for an object oriented model , 1998, J. Syst. Softw..

[9]  Ritu Agarwal,et al.  Cognitive Fit in Requirements Modeling: A Study of Object and Process Methodologies , 1996, J. Manag. Inf. Syst..

[10]  Susan Wiedenbeck,et al.  An exploratory study of program comprehension strategies of procedural and object-oriented programmers , 2001, Int. J. Hum. Comput. Stud..

[11]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[12]  Adele E. Howe,et al.  Program understanding behaviour during enhancement of large-scale software , 1997, J. Softw. Maintenance Res. Pract..

[13]  Stephen S. Yau,et al.  Design Stability Measures for Software Maintenance , 1985, IEEE Transactions on Software Engineering.

[14]  Gordon B. Davis,et al.  Software Development Practices, Software Complexity, and Software Maintenance Performance: a Field Study , 1998 .

[15]  Paul J. Layzell,et al.  DOCKET: program comprehension-in-the-large , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[16]  Nancy Pennington,et al.  The Tasks of Programming , 1990 .

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

[18]  Cynthia Mathis Beath,et al.  Maintaining Information Systems in Organizations , 1989 .

[19]  Steven P. Reiss,et al.  Support for Maintaining Object-Oriented Programs , 1992, IEEE Trans. Software Eng..

[20]  Lionel C. Briand,et al.  An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents , 2004, Empirical Software Engineering.

[21]  Diane M. Strong,et al.  Supporting software maintenance with software engineering tools: A Computed task-technology fit analysis , 1998, J. Syst. Softw..

[22]  Ritu Agarwal,et al.  The role of prior experience and task characteristics in object-oriented modeling: an empirical study , 1996, Int. J. Hum. Comput. Stud..

[23]  Diane M. Strong,et al.  Extending the technology acceptance model with task-technology fit constructs , 1999, Inf. Manag..

[24]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: An Analysis of the Content of Verbal Protocols , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[25]  Elliot Soloway,et al.  Delocalized Plans and Program Comprehension , 1986, IEEE Software.

[26]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .

[27]  Nancy Pennington,et al.  The effects of paradigm on cognitive activities in design , 1994, Int. J. Hum. Comput. Stud..

[28]  Pankaj Jalote,et al.  Effect of object orientation on maintainability of software , 1997, 1997 Proceedings International Conference on Software Maintenance.

[29]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[30]  Bob Rehder,et al.  Cognitive Activities and Levels of Abstraction in Procedural and Object-Oriented Design , 1995, Hum. Comput. Interact..

[31]  Susan Wiedenbeck,et al.  Novice comprehension of small programs written in the procedural and object-oriented styles , 1999, Int. J. Hum. Comput. Stud..