flow v2

arch3  缺陷分析引擎:

通过一系列复杂的语义分析如数据流分析,指针分析等,将程序代码的语义用一种等价的图形式来表示。从这种图形式出发,很容易提取特定缺陷分析所需的信息并表示为基于逻辑表达式的数学模型。

arch2  抽象模型生成器:

针对每一种缺陷类型,将程序所有可能执行路径以及这些路径上跟缺陷相关的语句语义通过一组数学表达式描述出来,然后求解表达式并得到缺陷触发的路径。相对于基于数据流分析的引擎,我们的方法更简洁,高效,和精准。

arch1  缺陷跟踪展示中枢:

对于每一条缺陷,Prism选取其中一条导致该缺陷的执行路径并高亮显示其关键执行点,使得分析结果可以高效的被用户理解。同时Prism允许用户可以跟踪和比较该缺陷在之前的分析结果中的情况从而对软件质量改进效果做出评估。