Publication details for Prof Elizabeth BurdBurd 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.
- Publication type: Journal papers: academic
- ISSN/ISBN: 0164-1212
- DOI: 10.1016/S0164-1212(00)00007-8
- Keywords: Evolution, Re-engineering, Maintenance, Software change.
- View online: Online version
- Durham research online: DRO record
Author(s) from Durham
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.
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.