A pointer analysis maps the pointers in a program to the memory locations they point to. In this work, we study the effectiveness of the three flavors of pointer analysis namely flow sensitive, flow insensitive, and context sensitive analysis on seven embedded code sets used in the industry. We compare precision gain i.e., the reduction in the number of spurious memory locations pointed by a pointer in each of these settings. We found that in 90% of cases the pointer information was same in all three settings. In other cases, context sensitive analysis was 2.6% more precise than flow sensitive analysis which was 6.8% more precise than flow insensitive analysis on average. We correlate precision gain with coding patterns in the embedded systems-which we believe to be first of its kind activity.
翻译:指针分析将一个程序中的指针映射到它们指向的记忆位置。 在这项工作中, 我们研究三个指针分析口的功效, 即流动敏感度、 流动不敏感度、 以及行业内七个嵌入代码组的背景敏感性分析。 我们比较精确性收益, 即每个设置中由指针指向的虚假记忆位置数量减少。 我们发现, 90% 的情况中, 指针信息在所有三个设置中都是相同的 。 在其他情况下, 上下文敏感度分析比流动敏感分析更精确, 后者比平均流动敏感度分析更精确6.8% 。 我们把精确性收益与嵌入系统中的编码模式联系起来, 我们认为这些系统是其同类活动的首项 。