一句话:提出对语义非等价性进行定量推理的符号相似性分析,可定位程序等价与不等价的具体输入区间。
相似性分析在软件变更检测、版本合并、抄袭识别与二进制代码分析等任务中具有重要作用;等价性分析是其更严格的形式,判断不同程序或同一程序的不同版本是否行为一致。现有关于代码与二进制相似性、等价性分析的研究虽多,却缺乏定量推理:非等价并非简单的二值结论,而是在输入域空间中呈现为不同程度的语义差异谱系。本文强调对由语义差异导致的非等价进行定量推理的重要性,指出通过量化非等价,可以确定程序在哪些具体输入区间上等价、在哪些区间上不等价,从而更全面地理解程序行为。作者旨在填补符号相似性分析中定量推理的空白,为程序行为比较提供更细致的刻画。摘要属于问题陈述与研究愿景,未给出具体技术方案与实验评估。
Similarity analysis plays a crucial role in various software engineering tasks, such as detecting software changes, version merging, identifying plagiarism, and analyzing binary code. Equivalence analysis, a stricter form of similarity, focuses on determining whether different programs or versions of the same program behave identically. While extensive research exists on code and binary similarity as well as equivalence analysis, there is a lack of quantitative reasoning in these areas. Non-equivalence is a spectrum that requires deeper exploration, as it can manifest in different ways across the input domain space. This paper emphasizes the importance of quantitative reasoning on non-equivalence which arises due to semantic differences. By quantitatively reasoning about non-equivalence, it becomes possible to identify specific input ranges for which programs are equivalent or non-equivalent. We aim to address the gap in quantitative reasoning in symbolic similarity analysis, enabling a more comprehensive understanding of program behavior.