2021
DOI: 10.1109/access.2021.3132950
|View full text |Cite
|
Sign up to set email alerts
|

Identifying Compiler and Optimization Level in Binary Code From Multiple Architectures

Abstract: While compiling a native application, different compiler flags or optimization levels can be configured. This choice depends on the different requirements. For example, if the application binary is intended for final release, the flags and optimization settings should be set for execution speed and efficiency. Alternatively, if the application is to be used for debugging purposes, debug flags should be configured accordingly, usually involving minor or no code optimization. However, this information cannot be … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2022
2022
2025
2025

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 16 publications
(5 citation statements)
references
References 22 publications
0
5
0
Order By: Relevance
“…Pizzolotto and Inoue proposed the Optimization Detector [30], which uses CNN or LSTM [8], [9] to identify the compiler's optimization level. They checked the classification performance of binaries with two different compilers and five different optimization levels for each of seven different CPU architectures.…”
Section: B Compiler Provenace Recovery For Multi-cpu Architecturementioning
confidence: 99%
“…Pizzolotto and Inoue proposed the Optimization Detector [30], which uses CNN or LSTM [8], [9] to identify the compiler's optimization level. They checked the classification performance of binaries with two different compilers and five different optimization levels for each of seven different CPU architectures.…”
Section: B Compiler Provenace Recovery For Multi-cpu Architecturementioning
confidence: 99%
“…Other tasks range from code style detection [50], generating accurate variable names [41], correcting syntax errors and bugs [32,57] code completion [36] and program synthesis [14] to API recommendation [35], and specification synthesis [43]. While powerful, such approaches are inaccurate and are not mature enough for precise lifting.…”
Section: Other Approachesmentioning
confidence: 99%
“…This was originally highlighted by Saebjørnsen et al [22] and we can confirm that not only the compiled binary is semantically different at various optimization levels but also structurally different, and we expect every CFG-based approach to suffer from this limitation. In order to overcome this problem, however, a previous work of us was focused on determining automatically the compiler and optimization level used in a binary, in order to mitigate failed analyses due to mismatched compiler configurations [50].…”
Section: B Mismatched Compiler Configurationsmentioning
confidence: 99%