软件分析技术的研究已有较长历史,相关成果也在软件生命周期的不同阶段中得到了广泛应用.软件生命周期中不同活动所需要的软件分析技术既不完全相同,又有许多交叠,且不同的分析技术之间互相影响.文章在讨论了软件分析的基本概念之后,主要从静态分析与动态分析两个方面介绍了一些主要的软件分析技术以及部分相关分析工具.结合软件的质量问题,文章还探讨了一些分析技术与软件质量属性的相关性,以便于人们在分析特定的软件质量属性时,选取合适的技术与工具.最后,文章展望了软件分析技术的发展趋势.
Research on software analysis has long history. It has been widely used in many processes in software lifecycle. The software analysis technologies that are used in different processes are different, while there are many interleaves among them. This paper discusses the concept of software analysis, followed with main software analysis technologies and related tools, from view of static analysis and dynamic analysis. Some relationships between software analysis and software quality characters are introduced, so as to provide some hints when some specific software character is under analyzing. The future of software analysis is discussed in the end of this paper.