摘要

Software change is a fundamental ingredient of software maintenance. Changes made to software will inevitably cause some unpredicted and undesirable effects to other parts of the software. Software change impact analysis (CIA) is a technique for identifying the potential consequences of a change. It is found that CIA is very helpful in many aspects, including software maintenance, regression testing, etc. This paper attempts to give a survey of CIA techniques in recent years, and aims at providing references for developers to choose suitable CIA techniques. In this paper, we first introduce five classification approaches for CIA techniques. Then, we discuss some future challenges and directions for CIA in its fundamental theories, tools, evaluation, scalability, traceability, etc.

全文