Research on compiler version recognition based on random forest algorithm

Compiler version recognition is essential in the realm of computer tools, not only facilitating comprehension ofthe compilation process but also offering crucial guidance for optimization endeavors. This study delves into an exhaustive exploration of the distinctions among various versions of $\mathbf{C}++$ compilers in GCC when compiling specific program source code. The analysis aims to precisely pinpoint the compiler version being used. To achieve this, we compile the source code in Annex 1 using different versions of C++ compilers in GCC and meticulously scrutinize the differences in compilation outcomes, encompassing aspects such as instruction sequence, optimization strategy, and code structure. Leveraging techniques from software engineering like judgment analysis, disassembly, and static analysis, we identify the distinctive characteristics of the code generated by diverse compilers and highlight the key features that serve as significant discriminators between varying compiler versions. Taking a step further, we introduce a novel model for compiler version recognition that leverages deep learning methodologies. Through the collection of a substantial volume of code samples produced by different compiler versions and employing the decision tree model for training, our model demonstrates exceptional performance on both the training set and the test set. It excels in accurately discerning the code generated by distinct compiler versions.

Authors

Institutions

Publication Details

Published
2024-10-23
DOI
https://doi.org/10.1109/iccasit62299.2024.10828126
Citations
1
Primary Topic
Web Data Mining and Analysis
Type
article
Field-Weighted Citation Impact
0.78
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Research on compiler version recognition based on random forest algorithm

Xinyun Hu, Yuying Tang
1 citations
Web Data Mining and Analysis
0.78
article

Research on compiler version recognition based on random forest algorithm

Xinyun Hu, Yuying Tang
article en
1 citations

Abstract

Compiler version recognition is essential in the realm of computer tools, not only facilitating comprehension ofthe compilation process but also offering crucial guidance for optimization endeavors. This study delves into an exhaustive exploration of the distinctions among various versions of $\mathbf{C}++$ compilers in GCC when compiling specific program source code. The analysis aims to precisely pinpoint the compiler version being used. To achieve this, we compile the source code in Annex 1 using different versions of C++ compilers in GCC and meticulously scrutinize the differences in compilation outcomes, encompassing aspects such as instruction sequence, optimization strategy, and code structure. Leveraging techniques from software engineering like judgment analysis, disassembly, and static analysis, we identify the distinctive characteristics of the code generated by diverse compilers and highlight the key features that serve as significant discriminators between varying compiler versions. Taking a step further, we introduce a novel model for compiler version recognition that leverages deep learning methodologies. Through the collection of a substantial volume of code samples produced by different compiler versions and employing the decision tree model for training, our model demonstrates exceptional performance on both the training set and the test set. It excels in accurately discerning the code generated by distinct compiler versions.

Anhui Normal University (CN)
Openalex Percentile: Top 18%
Web Data Mining and Analysis
0.78
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Research on compiler version recognition based on random forest algorithm — Xinyun Hu, Yuying Tang · (2024) | TGRS Research Map | TGRS