Applying Symbolic Execution to Semantic Code Clone Detection

Kazusa Takemoto, Shingo Takada

研究成果: Conference article査読

抄録

Many approaches have been proposed to detect code clones, which are basically similar code fragments. Most approaches are based on textual similarity. These approaches cannot detect semantic code clones, which are clones that have the same functionality but implemented with different syntax. Two functions can be considered to have the same functionality, when the output is the same given the same input. In order to appropriately generate inputs, we propose applying symbolic execution to semantic code clone detection. These functions are executed to obtain outputs, which are compared to determine if function pairs are clones. Our approach also does not limit output to return values; we also handle arrays and pointers as output, as the execution of the function may cause changes in their values. Furthermore, we classify types to enable cases where the types of inputs and/or outputs are not exactly the same. We evaluate our approach on SemanticCloneBench.

本文言語English
ページ(範囲)118-122
ページ数5
ジャーナルProceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE
2023-July
DOI
出版ステータスPublished - 2023
イベント35th International Conference on Software Engineering and Knowledge Engineering, SEKE 2023 - Hybrid, San Francisco, United States
継続期間: 2023 7月 12023 7月 10

ASJC Scopus subject areas

  • ソフトウェア

フィンガープリント

「Applying Symbolic Execution to Semantic Code Clone Detection」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル