Abstract | ||
---|---|---|
C codebases frequently embed nonportable and unstandardized elements such as inline assembly code. Such elements are not well understood, which poses a problem to tool developers who aspire to support C code. This paper investigates the use of x86-64 inline assembly in 1264 C projects from GitHub and combines qualitative and quantitative analyses to answer questions that tool authors may have. We found that 28.1% of the most popular projects contain inline assembly code, although the majority contain only a few fragments with just one or two instructions. The most popular instructions constitute a small subset concerned largely with multicore semantics, performance optimization, and hardware control. Our findings are intended to help developers of C-focused tools, those testing compilers, and language designers seeking to reduce the reliance on inline assembly. They may also aid the design of tools focused on inline assembly itself.
|
Year | DOI | Venue |
---|---|---|
2018 | 10.1145/3186411.3186418 | VEE |
Keywords | Field | DocType |
C, Empirical Survey, GitHub, Inline Assembly | x86,Programming language,Computer science,Inline assembler,Compiler,Empirical survey,Multi-core processor,Semantics | Conference |
Volume | Issue | ISSN |
53 | 3 | 0362-1340 |
ISBN | Citations | PageRank |
978-1-4503-5579-7 | 0 | 0.34 |
References | Authors | |
44 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Manuel Rigger | 1 | 26 | 5.86 |
Stefan Marr | 2 | 124 | 21.54 |
Stephen Kell | 3 | 0 | 0.68 |
David Leopoldseder | 4 | 6 | 2.46 |
Hanspeter Mössenböck | 5 | 781 | 88.17 |