Title :
Generating linkage between source code and evolvable domain knowledge for the ease of software evolution
Author :
Li, Yang ; Yang, Hongji ; Chu, William
Author_Institution :
Dept. of Comput. Sci., De Montfort Univ., UK
Abstract :
Business software systems without exception need to be evolved to cater for new/changed market requirements, or to adapt to a new operating environment. One of the most significant problems in current software evolution practice is that software maintainers usually find it quite difficult to locate the program sections in the source code which need to be modified and to identify the extent to which the changes in these program sections could affect the rest of the software system. In this paper, we propose a knowledge engineering-based approach to solving this problem. In particular, we match a software program with a pre-defined domain knowledge base in the representation of a simplified semantic network that we have proposed in order to link the source program with its domain-level interpretation. The domain knowledge base contains only important domain knowledge where potential evolutions could occur; this reduces the size of the knowledge base. Moreover, a domain-oriented program partitioning method is also proposed in order to partition a program into self-contained modules of manageable size. In these ways, the computational complexity involved in generating the linkage is significantly reduced, which makes this approach usable. An example shows that software evolution can be carried out easily as the domain knowledge that it links with evolves
Keywords :
business data processing; computational complexity; computer aided software engineering; knowledge based systems; program slicing; semantic networks; software maintenance; business software systems; computational complexity; domain-level interpretation; domain-oriented program partitioning method; evolvable domain knowledge; knowledge engineering; market requirements; operating environment; pre-defined domain knowledge base; program section modification; self-contained modules; semantic network; software evolution; software maintenance; source code; Algorithm design and analysis; Companies; Computer science; Couplings; Design engineering; Documentation; Humans; Knowledge engineering; Software maintenance; Software systems;
Conference_Titel :
Principles of Software Evolution, 2000. Proceedings. International Symposium on
Conference_Location :
Kanazawa
Print_ISBN :
0-7695-0906-1
DOI :
10.1109/ISPSE.2000.913239