Cookies

We use cookies to ensure that we give you the best experience on our website. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.

Research

View Profile

Publication details for Prof Elizabeth Burd

Burd E. & Munro, M. (2000). Using evolution to evaluate reverse engineering technologies mapping the process of software change. Journal of systems and software 53(1): 43-51.

Author(s) from Durham

Abstract

This paper describes a case study where versions of software are used to track actual changes made to software applications. The process of evolution within a number of software applications is described. The applications are developed using two different software development languages; C and COBOL. The evolution of the applications is tracked and language specific differences are highlighted. Graphical representations of the change process are then produced and the reasons for specific change features identified. The aim of the approach is to gain a more detailed understanding of how and where change processes take place. The consequence of identifiable sets of changes and their effect on the future maintainability of software is discussed. The overall aim of this study is to provide a characterisation of the change process that eventually can be used to evaluate the suitability of reverse engineering technologies in re-structuring legacy applications to a form more suited to successful evolution.

References

ANSI, 1983. IEEE Standard Glossary of Software Engineering Terminology. IEEE Press, New York

Bennett, K., Cornelius, B., Munro, M. and Robson, D., 1991. Software maintenance. In: McDermid, J.A., Editor, , 1991. Software Engineers Reference Book, Butterworth Heinemann, London.

Boehm, B.W., 1975. The high cost of software. In: Horowitz, E., Editor, , 1975. Practical Strategies For Developing Large Software Systems, Addison-Wesley, Reading, MA.

Burd, E.L., Munro, M., Wezeman, C., 1996a. Analysing large COBOL programs: the extraction of reusable modules. In: Proceedings of the International Conference on Software Maintenance. IEEE Press, California

Burd, E.L., Munro, M., Wezeman, C., 1996b. Extracting reusable modules from legacy code: considering issues of module granularity. In: Proceedings of the Third Working Conference on Reverse Engineering. IEEE Press, California

Burd, E.L., Munro, M., 1997. Enriching program comprehension for software reuse. In: Proceedings of the International Workshop on Program Comprehension: IWPC'97, IEEE Press, New York

Burd, E.L., Munro, M., 1998. Investigating component-based maintenance and the effect of software evolution: a reengineering approach using data clustering. In: Proceedings of the International Conference on Software Maintenance, ICSM'98, IEEE Press, New York

Chikofsky, E.J. and Cross II, J.H., 1990. Reverse engineering and design recovery: a taxonomy. IEEE Software 7 1.

Lehman, M.M., Ramil, J.F., Wernick, P.D., Perry, D.E., 1997. Metrics and laws of software evolution – the nineties view. In: Proceedings of the Symposium on Software Metrics, IEEE Press, New York

Lientz, B.P. and Swanson, E.B., 1980. Software Maintenance Management, Addison-Wesley, Reading, MA.

Parikh, G. and Zvegintzov, N., 1993. Tutorial on Software Maintenance, IEEE Computer Society Press, Silver Spring, MD.