Knowledge for Software Maintenance

Knowledge management is emerging as a promising area to support software engineering activities. The general idea is to use knowledge gained in previous projects to help future ones. We believe this approach is even more relevant when considering software maintenance where maintainers often have to modify a system that they did not develop, that has no documentation, and that nobody knows intimately. Contrasting with this lack of information on the system, maintainers need a lot of knowledge: about the application domain, the organization software maintenance procedures, the system itself, the language used, past development methods, etc. Although one can readily agree with this fact, there is no clear, exhaustive definition of what knowledge would be useful to perform software maintenance. In this paper we describe our research to identify these needs. This research is part of a long term project that aims at building a knowledge management system for software maintenance.

[1]  Victor R. Basili,et al.  A change analysis process to characterize software maintenance projects , 1994, Proceedings 1994 International Conference on Software Maintenance.

[2]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[3]  Michael Gruninger,et al.  Methodology for the Design and Evaluation of Ontologies , 1995, IJCAI 1995.

[4]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[5]  Nicolas Anquetil,et al.  A disturbing result on the knowledge used during software maintenance , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..