@techreport{oai:ipsj.ixsq.nii.ac.jp:00219052, author = {Davide, Pizzolotto and Makoto, Matsushita and Katsuro, Inoue and Davide, Pizzolotto and Makoto, Matsushita and Katsuro, Inoue}, issue = {26}, month = {Jul}, note = {Code reuse is a common practice while developing software. While the detection of identical and nearly identical portions of code reached high accuracy, in the past years efforts shifted toward detecting seemingly different clones but with the same semantic value, anlysing almost always the Java language only. In newer languages, however, analysis is often complicated by the presence of syntactic sugar. In this paper we present an analysis of clones in the Rust language ecosystem at different compilation steps. The various stages in the Rust compilation, progressively flatten the code and remove unnecessary decorations until binary representation is reached. We analysed several Rust projects at source level and High-level IR, and compared the amount and types of clones for each refinement level., Code reuse is a common practice while developing software. While the detection of identical and nearly identical portions of code reached high accuracy, in the past years efforts shifted toward detecting seemingly different clones but with the same semantic value, anlysing almost always the Java language only. In newer languages, however, analysis is often complicated by the presence of syntactic sugar. In this paper we present an analysis of clones in the Rust language ecosystem at different compilation steps. The various stages in the Rust compilation, progressively flatten the code and remove unnecessary decorations until binary representation is reached. We analysed several Rust projects at source level and High-level IR, and compared the amount and types of clones for each refinement level.}, title = {Code Clone Detection in Rust Intermediate Representation}, year = {2022} }