May 5, 2000

Jelber Sayyad

Learning the Concept of Relevance Among Files in a Software Maintenance Context

Software maintenance is the costly part of software life cycles. Estimates on the cost of software maintenance vary from 50% to the excess of 70% of the total cost of the system. The 20-80 rule suggests that 20% of the development work is performed during original application development, and the other 80% is performed during maintenance. Consequently it is expected that assisting software engineers in maintenance activities result in a reduction in the overall cost and effort spent during the lifetime of a software system.

In early 1980s, in an attempt to address some of the existing problems in software engineering, researches proposed the use of artificial intelligence in different phases of software development process. The application of artificial intelligence technology to software engineering is known as Knowledge Based Software Engineering (KBSE). While this definition is fairly broad, in practice it has meant the creation of systems which employ knowledge bases which explicitly encode the knowledge regarding the particular task of interest. On the other hand, machine learning techniques which have the potential of learning general concepts from previously seen examples have not been widely applied to software engineering domain.

The focus of our research is assisting software engineers with low level, daily maintenance activities. When a maintenance programmer is looking at a piece of code, such as a file, one of the important questions which he needs to answer is:

"which other files should I know about, i.e. what else might be relevant to this piece of code ?".

In this presentation we will discuss our research, which employs machine learning to learn the concept of relevance among files in a legacy software system. We use the records of program updates, and tasks performed by software engineers to learn, within the context of software maintenance, what makes two files in our target system to become relevant to each other.

Back to the TAMALE home page